nignx反向代理时丢失端口问题

出现场景

将项目转移到新的服务器后,后台系统的首页可以访问,但点击登陆时跳转不成功,显示无法访问网页,仔细观察重定向后的路径发原来是端口号丢失了。

解决方案

在网上查询之后发现只要修改一下nginx的配置文件即可,找到tomcat对应的配置文件,打开之后会看到一个location配置,将内容改成下面这段代码就可以了。

这段配置中proxy_pass的值是监听特定端口号后转发的端口,需要根据自己的情况配置。

1
2
3
4
5
6
7
8
9
10
11
location ~ {
#代理时指定端口
proxy_pass http://127.0.0.1:8181;
#这句配置解决了端口号丢失的问题
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#include proxy.conf;
}