nginx做非80端口转发

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

server {
listen 80;
server_name localhost;

location / {
proxy_pass http://147.16.24.175:9500 ;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";

}
}

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

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

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

正确的配置方法为

在 $host之后加上端口号,如$host:83

server {
listen 83;
server_name localhost;

location / {
proxy_pass
http://147.16.24.175:9500 ;
proxy_set_header Host $host:83;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_headerVia"nginx";

}
}

猜你喜欢

转载自495142450.iteye.com/blog/2265551