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:81 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_header Via “nginx”; } }