Skip to content

Commit a1083a0

Browse files
committed
fix: ensure that x-forwarded-port makes its way into Forwarded header
1 parent 0c2c1d9 commit a1083a0

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/stac_auth_proxy/handlers/reverse_proxy.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,12 @@ def _prepare_headers(self, request: Request) -> MutableHeaders:
4444
)
4545
proxy_proto = headers.get("X-Forwarded-Proto", request.url.scheme)
4646
proxy_host = headers.get("X-Forwarded-Host", request.url.netloc)
47+
proxy_port = headers.get("X-Forwarded-Port", request.url.port)
4748
proxy_path = headers.get("X-Forwarded-Path", request.base_url.path)
49+
4850
headers.setdefault(
4951
"Forwarded",
50-
f"for={proxy_client};host={proxy_host};proto={proxy_proto};path={proxy_path}",
52+
f"for={proxy_client};host={proxy_host}:{proxy_port};proto={proxy_proto};path={proxy_path}",
5153
)
5254

5355
# NOTE: This is useful if the upstream API does not support the Forwarded header
@@ -56,6 +58,7 @@ def _prepare_headers(self, request: Request) -> MutableHeaders:
5658
headers.setdefault("X-Forwarded-Host", proxy_host)
5759
headers.setdefault("X-Forwarded-Path", proxy_path)
5860
headers.setdefault("X-Forwarded-Proto", proxy_proto)
61+
headers.setdefault("X-Forwarded-Port", proxy_port)
5962

6063
# Set host to the upstream host
6164
if self.override_host:

0 commit comments

Comments
 (0)