如何在保持相同的情况下代理 nginx 请求 url

How to proxy nginx request while keeping same url

我正在使用具有此配置的自托管服务堆栈应用程序。所以当我浏览 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;
  }
}

如果您想剥离端口,您需要使用反向代理而不是重定向。在 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;
    }
 }