如何在 Mac OSX 上使用 nginx proxy_pass 保留请求 url

How to preserve request url with nginx proxy_pass on Mac OSX

我已经按照 here 的说明进行操作,但它仍然更改了 80 和 443 服务器的请求 url,有人遇到同样的问题吗?

我正在使用 OS X El Capitan 10.11.4,我使用相同的 nginx.conf,它运行良好并保留了请求url Ubuntu 12.04.5 LTS.

以下是我的代理设置。

location / {
    proxy_pass   http://my_app_upstream/;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header        Host            $host;
}

安装我在Mac上使用brew install nginx,在Ubuntu

上使用自己编译的

如果您不希望 URL 发生变化(例如,由于 Nginx pass_proxy subdirectory without url decoding), you should omit the trailing slash from your proxy_pass:

-proxy_pass   http://my_app_upstream/;
+proxy_pass   http://my_app_upstream;