nginx-reverse-proxy - Nginx proxy_pass 后端服务器向客户端发送 302 并将客户端重定向到后端 IP
问题描述
我有一个 IP 192.168.1.10 端口 8090 的后端服务器,nginx 可以通过示例 10.0.0.10 访问它,然后 NATed 到 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;
}
有什么建议么?非常感谢!
解决方案
推荐阅读
- java - 无法从 firebase firestore 检索数据并将其显示在 android studio 的 View Text 中
- django - 存储从管理员更新 Django 模型的人
- php - 无法提交贝宝和验证按钮
- vim - 打开多个乳胶窗口时折叠不能在所有窗口中工作
- python - librosa和tensorflow之间相同wav文件的不同采样率SR
- command-line-interface - 如何在不安装 Tailwindcss 2.2 CLI 的情况下使用模块“tailwindcss/defaultTheme”?
- c# - 如何在android的后台运行网络浏览器?
- sql - 使用 LEFT OUTER JOIN 在查询中包含 NULL 值
- java - Java 返回的布尔值是假的,即使条件应该返回真
- java - 发送数据包到我的世界服务器 Forge 1.16.5