【问题标题】:Reverse Proxy to App Engine missing Host反向代理到 App Engine 缺少主机
【发布时间】:2014-09-02 18:28:55
【问题描述】:

我有一个指向 google appengine api 的反向代理。该 api 是一个共享服务层,因此我通过反向代理将多个站点指向它。

mysite1.com > myapp.appspot.com mysite2.com > myapp.appspot.com

问题是,在应用引擎的 php 脚本中,我无法访问原始主机名。如果我查看 $_SERVER 变量,我看到的只是 myapp.appspot.com,我希望在其中查看 mysite1.com

我尝试将代理标头主机设置为主站点 url,它破坏了应用引擎。有没有办法从应用引擎获取代理 url?

【问题讨论】:

  • 我已经使用 nginx 解决了这个问题:proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr;
  • 嗨,Eric,您能否将您的评论添加为您问题的答案,以造福于社区?谢谢。

标签: php google-app-engine nginx proxy reverse-proxy


【解决方案1】:

我已经使用 nginx 解决了这个问题:

proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;

然后,您可以按照 PHP 中的惯例从 $_SERVER 数组中获取 X-Forwarded 变量。

【讨论】:

  • X-Forwarded-For 就足够了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
相关资源
最近更新 更多