天天看點

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:81

        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";

        }

 }

摘自紅色黑客聯盟(www.7747.net) 原文:http://www.7747.net/Article/201104/88612.html

繼續閱讀