天天看點

nginx反向代理伺服器端口問題

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。

正确的配置方法為

在 $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;

}

}

繼續閱讀