diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-05-10 11:29:17 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2022-05-10 11:29:17 +0200 |
commit | eabb52a6c0028bc4e4bf9cb1cf1add28ab3df185 (patch) | |
tree | 14cdbd56685be7a82a2a2ebc51cfbfec8c9807db /src/https.rs | |
parent | df4a36990c799901463d63c78de0f0672b675688 (diff) | |
download | tricot-eabb52a6c0028bc4e4bf9cb1cf1add28ab3df185.tar.gz tricot-eabb52a6c0028bc4e4bf9cb1cf1add28ab3df185.zip |
Doc + example + fix domain/host bug
Diffstat (limited to 'src/https.rs')
-rw-r--r-- | src/https.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/https.rs b/src/https.rs index 7dcf051..c3c4550 100644 --- a/src/https.rs +++ b/src/https.rs @@ -153,14 +153,20 @@ async fn handle( .ok_or_else(|| anyhow!("Missing host header"))? .to_str()? }; + let domain = match host.split_once(':') { + Some((domain, _port)) => domain, + _ => host, + }; + debug!("Matching on domain {}", domain); + let path = req.uri().path(); let accept_encoding = accept_encoding_fork::encodings(req.headers()).unwrap_or_else(|_| vec![]); let best_match = proxy_config .entries .iter() - .filter(|ent| { - ent.host.matches(host) + .filter(|ent| { + ent.host.matches(domain) && ent .path_prefix .as_ref() |