反向代理到App Engine缺少主机

时间:2014-09-02 18:28:55

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

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

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

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

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

1 个答案:

答案 0 :(得分: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变量。