我有一个 IP 为 192.168.1.10 端口 8090 的后端服务器,nginx 可以通过示例 10.0.0.10 访问它,然后 NAT 到 192.168.1.10
nginx ----> 10.0.0.10 ----> 192.168.1.10
这在一般情况下效果很好,但我们在这里遇到了一个特定的问题,它似乎与重定向有关。
客户端转到 https://nginx/gateway 并建立连接,后端服务器应用程序现在需要身份验证,因此后端服务器将 302 重定向发送回客户端。我在客户端 Web 浏览器中注意到的是地址发生了变化,并且客户端尝试建立到 http://192.168.1.10:8080 的连接(身份验证服务位于不同的端口上)。由于客户端没有到达此目的地的路由,因此页面无法加载。
我的期望是 nginx 在内部处理这个重定向,并且只是使用自己的 https://nginx 地址将内容传递给客户端。
配置很简单:
location / {
proxy_pass "http://10.0.0.10:8090";
proxy_set_header Host $host:$server_port;
}
有什么建议吗?非常感谢!