我有一个NGINX在Openshift的Docker容器内的端口8443
上运行。我还定义了一个 Openshift 路由,将流量从端口443
转发到集装箱的8443
。
这工作正常,直到我尝试访问一个位置块,而 URL 上没有尾随/
。例如,当我去:
https://test.example.com/example
JS网络日志显示NGINX试图将我重定向到错误的端口(8443
(:
https://test.example.com:8443/example/
由于唯一公开的端口是443
,这将失败。FWIW,添加尾部斜杠时工作正常(https://test.example.com/example/
(
有没有办法让NGINX在重定向期间不使用其内部端口,而是坚持使用客户端使用的端口?以下是我的位置块示例:
location /example {
proxy_pass https://example.apps.svc.cluster.local:8443;
}
我最终在HttpCoreModule文档中找到了答案。必须在位置块中包含port_in_redirect off;
。例如:
location /example {
port_in_redirect off;
proxy_pass https://example.apps.svc.cluster.local:8443;
}