如何在保持相同网址的同时代理nginx请求

时间:2015-03-17 16:49:30

标签: ubuntu nginx servicestack

我正在使用具有此配置的自托管服务堆栈应用。所以当我浏览mysite.com/json/reply/mytestmethod时,我会被重定向到mysite.com:1337/json/reply/mytestmethod。该应用程序工作正常,除了寻找帮助删除端口1337部分,并使其看起来来自mysite.com域。

干杯!

server {
  listen 80;
  server_name mysite.com;

  root /var/www/mysite.com/html;
  index index.html;

  location / {
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   Host      $http_host;
    proxy_pass         http://127.0.0.1:1337;
  }
}

1 个答案:

答案 0 :(得分:2)

如果要剥离端口,则需要使用反向代理而不是重定向。在nginx中,典型的反向代理配置如下所示:

server {
    listen 80;
    server_name mysite.com;

    location / {
        proxy_pass http://localhost:1337/;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
    }
 }