nginx 后端服务器配置端口 request.getserverPort

原文链接: https://blog.csdn.net/shi0299/article/details/52052118

背景:工作中需要通过servlet获取nginx的真实的port但是总是80

nginx可以很方便的配置成反向代理服务器

server {

listen 80;

server_name bothlog.com;

location / {

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_pass http://127.0.0.1:9380;

}

}

但是如果nginx的监听端口不是默认的80端口,改为其他端口如81端口。

后端服务器中request.getServerPort()无法获得正确的端口,返回的仍然是80;

在response.sendRedirect()时,客户端可能无法获得正确的重定向url。

正确的配置方法为

h o s t host之后加上端口号,如 host:81

server {

listen 81;

server_name bothlog.com;

location / {

proxy_set_header Host $host:81;

proxy_set_header X-Forwarded-For $remote_addr;

proxy_pass http://127.0.0.1:9380;

}

}

猜你喜欢

转载自blog.csdn.net/dataiyangu/article/details/100142220