|
|
@ -77,14 +77,17 @@ pub async fn serve_https( |
|
|
|
match tls_acceptor.accept(socket).await { |
|
|
|
Ok(stream) => { |
|
|
|
debug!("TLS handshake was successfull"); |
|
|
|
let http_conn = Http::new().serve_connection( |
|
|
|
stream, |
|
|
|
service_fn(move |req: Request<Body>| { |
|
|
|
let https_config = config.clone(); |
|
|
|
let proxy_config: Arc<ProxyConfig> = rx_proxy_config.borrow().clone(); |
|
|
|
handle_outer(remote_addr, req, https_config, proxy_config) |
|
|
|
}), |
|
|
|
); |
|
|
|
let http_conn = Http::new() |
|
|
|
.serve_connection( |
|
|
|
stream, |
|
|
|
service_fn(move |req: Request<Body>| { |
|
|
|
let https_config = config.clone(); |
|
|
|
let proxy_config: Arc<ProxyConfig> = |
|
|
|
rx_proxy_config.borrow().clone(); |
|
|
|
handle_outer(remote_addr, req, https_config, proxy_config) |
|
|
|
}), |
|
|
|
) |
|
|
|
.with_upgrades(); |
|
|
|
let timeout = tokio::time::sleep(MAX_CONNECTION_LIFETIME); |
|
|
|
tokio::pin!(http_conn, timeout); |
|
|
|
let http_result = loop { |
|
|
|