nginx做非80端口转发

nginx可以很方便的配置成反向代理服务器
  server {
  listen 80;
  server_name localhost;
  location / {
  proxy_pass http://x.x.x.x: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://x.x.x.x:9000;
  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";
  }
  }

你可能感兴趣的:(nginx)