【问题标题】:How to preserve request url with nginx proxy_pass on Mac OSX如何在 Mac OSX 上使用 nginx proxy_pass 保留请求 url
【发布时间】:2016-11-02 09:58:12
【问题描述】:

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

我正在使用 OS X El Capitan 10.11.4,我使用相同的 nginx.conf,它可以完美运行并在 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 上自编译一个

【问题讨论】:

  • 请求网址发生变化是什么意思?它从/到什么变化?在您提供的链接中,还指出您不应在 proxy_passing 时包含 /。所以试试proxy_pass http://my_app_upstream; 而不是proxy_pass http://my_app_upstream/; 看看是否有帮助。
  • 好的,我下周一试试,然后回来,谢谢。
  • @iownthegame,ping,你试过了吗?
  • 我已经尝试过....实际上这是我的错误:( Ngix 做了proxy_pass,但我的代码再次重定向了页面....所以无论有没有斜线都对我有用: p 我投票给你,但我不能将其标记为答案,无论如何,对不起,谢谢。
  • @iownthegame,感谢您的支持!如果问题得到解决,您可能仍然应该接受一些答案,这样问题就不会显示为未解决。

标签: macos nginx proxy proxypass


【解决方案1】:

如果您不希望 URL 更改(例如,由于 Nginx pass_proxy subdirectory without url decoding),您应该省略 proxy_pass 中的尾部斜杠:

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

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 2017-05-12
    • 1970-01-01
    • 2015-03-16
    • 2018-10-30
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多