1
这就是我用来做proxy_pass:在PHP如何通过nginx proxypass将环境变量传递给Apache?
location ~* \.php$ {
proxy_pass http://127.0.0.1:8080;
}
这个$ _ SERVER [ 'REMOTE_ADDR']后不再可用。在nginx将请求传递给Apache之后,我需要做些什么才能在PHP中使用这些$ _SERVER变量?
还有没有其他的头,我应该送?像$ _SERVER变量的其余部分?这是在文档中,你能指点我一个资源吗? – DavidW 2012-03-23 18:38:42
我不认为你会在Nginx文档中找到一个“你应该如何代理Apache”的参考文献。但是,通过了解这两个wedservers如何工作,您将看到需要mod_rpaf活动,并且需要通过nginx传递远程ip,才能正确地将这些特定项传递给Apache。阅读mod_rpaf。至于其他的$ _SERVER变量,没有什么特别的事情需要完成。其实,你是否建议你的$ _SERVER变量完全消失,而不是远程IP传输不正确? – Dayo 2012-03-23 19:08:25
我只是检查,看起来像所有的变量实际上被传递/可用。我想mor_rpaf已经在运行了。我想我遇到的问题是因为我正在转发,REMOTE_ADDR是127.0.0.1。有没有一种方法可以用HTTP_X_FORWARDED_FOR“覆盖”这个值? – DavidW 2012-03-24 05:27:28