我的应用程序没有将任何原始客户端IP放入$ _SERVER全局。 只有多播地址。
我认为这是由于双重代理,其中第二个覆盖了原来的http-forwarded-for,我不确定是不是这样。
我的设置:
Amazon EC2负载均衡器 - > Apache2 mod_proxy - > Symfony2应用程序
如果我理解正确,负载均衡器将请求发送给具有正确Forwarded for(客户端)的代理,mod_proxy然后覆盖相同的,并假设负载均衡器源IP是客户端IP,并将其写为转发。
这是我的mod_ssl.conf,它负责在实例级别终止SSL:
ProxyPass / http://localhost:80/ retry=0
ProxyPassReverse / http://localhost:80/
ProxyPreserveHost on
RequestHeader set X-Forwarded-Proto "https" early
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
我可以以某种方式写出Forwarded for,它会收到第三个标题或类似内容吗?