Nginx处理302重定向端口丢失问题
Nginx处理302重定向端口丢失问题
背景
问题复现
问题解决
背景
业务部署于Linux虚拟机中,域名解析到公网ip,公网ip的非标准端口映射虚机的标准端口。由于种种原因无法使用公网
标准端口(80、443),只能使用非标准端口,公网端口8050到虚机80、公网端口8051到虚机443。
问题复现
虚机内部通过Nginx当做静态资源服务器,监听80、443端口,而在虚机外层还有一个端口转发,但这个端口转发使用的
并不是80,导致业务系统登录后重定向地址并没有加上8050端口,而是继续使用了默认的80端口导致了问题的出现。
问题解决
创建
1.
proxy_params
nginx/conf目录下创建 proxy_params文件,写入如下内容。
1
proxy_set_header Host $http_host;
2 proxy_set_header X-Real-IP $remote_addr;
3 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
4 proxy_set_header X-Forwarded-Proto $scheme;
5
1.修改
nginx.conf
nginx.conf配置server下的location引入 proxy_params文件,nginx重新加载配置使其生效。
1
location /test/ {
2 proxy_pass http://localhost:8080/test/;
3 include proxy_params;
4 }
此处test为我虚机上的tomcat8080端口下部署的项目名称。
Nginx处理302重定向端口丢失问题_nginx302重定向问题-CSDN博客