nginx 配置 非80 的其他 端口

如果nginx的监听端口不是默认的80端口,改为其他非80端口后,后端服务tomcat中的request.getServerPort()方法无法获得正确的端口号,仍然返回到80端口。在response.sendRedirect()时,客户端可能无法获得正确的重定向URL。

所以正确的配置:

 1 server {
 2 
 3     listen 8080;
 4 
 5     server_name localhost;
 6 
 7     location / {
 8 
 9         proxy_pass http://192.168.1.100:8081;
10 
11         proxy_set_header Host $host:8080;
12 
13         proxy_set_header X-Real-IP $remote_addr;
14 
15         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
16 
17     }
18 
19 }

这里主要注意 配置文件的第三行

 3     listen 8080;

第9行是你服务的地址
还要注意第11行
11         proxy_set_header Host $host:8080;
这两个地方要保持一致