Tom*_*Tom 3 php linux lamp superglobals server-farm
我们有多个负载均衡的webserver机器运行相同的PHP webapp(LAMP),我想在每个服务器上运行稍微不同的代码(用于测试目的).我希望使用$_SERVER['SERVER_ADDR']超级全局来做这样的事情:
if ($_SERVER['SERVER_ADDR'] == 'XXX.XXX.XXX.XXX') {
echo "Do one thing";
} elseif ($_SERVER['SERVER_ADDR'] == 'YYY.YYY.YYY.YYY') {
echo "Do something else";
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,因为两台机器都设置$_SERVER['SERVER_ADDR']为' 127.0.0.1 '.如何配置它们以便$_SERVER['SERVER_ADDR']设置为其公共IP地址?
我猜这个问题可能与某些事情有关,/etc/hosts所以对于参考,它目前看起来像这样:
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
XXX.XX.XX.XX blahblah
Run Code Online (Sandbox Code Playgroud)
哎呀!我忽略了在Web服务器前面考虑nginx反向代理.由于nginx conf中的以下行,所有到这些Web服务器的流量都来自nginx:
location / {
root /var/www/staging/current;
proxy_pass http://localhost:8880;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9153 次 |
| 最近记录: |