nginx 代理传递子目录并保留 URL

nginx 代理传递子目录并保留 URL

我已经用 nginx 设置了两台服务器 -

  1. https://dev.imagecompressor.io网址:35.231.119.158
  2. https://imagecompressor.io位于 176.9.41.138

我正在尝试转发https://imagecompressor.io/sitehttps://dev.imagecompressor.io/site并希望保留该 URL https://imagecompressor.io/site

转发正常,但子目录/site/似乎被省略并且 URL 也发生了变化。

176.9.41.138 上的 NGINX 配置

location /site/ {
        proxy_pass http://dev.imagecompressor.io;
        # error_log /var/log/nginx/site_error.log debug;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host imagecompressor.io;
        # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

答案1

我认为你必须改变这一行:

proxy_pass http://dev.imagecompressor.io;

更改为:

proxy_pass http://dev.imagecompressor.io/site;

如果你想将 URL 更改为新 URL,请使用以下命令:

proxy_set_header Host  http://dev.imagecompressor.io;

否则你可以使用它:

proxy_set_header Host $host; 

相关内容