我有一个网站build立这样的事情:
|-------------------> Apache1 | HAProxy -| | |-------------------> Apache2
HAproxy具有外部IP xxxx
Apache1有两个接口:内部yyyy(用于来自HAProxy的请求)和外部IP zzzz
Apache2有两个接口:内部yy.yy.yy.yy(用于来自HAProxy的请求)和外部IP zz.zz.zz.zz
任何时候,我从一个Apache服务器(例如在PHP中的curl请求,google.com)向农场外发出请求,REMOTE_ADDR头是进行调用的apache服务器的外部IP(yy.yy.yy. yy或zz.zz.zz.zz)。
问题是,有些服务器我提出了限制IP请求的请求。 理想情况下,我想为他们提供HAProxy服务器(xxxx)的IP,而不必为其提供2个后端服务器的IP。
有没有什么办法可以在configurationapache或haproxy中实现这一点?
您必须configurationapache通过代理服务器发送请求。 最简单的设置是在haproxy机器上安装squid,并在路由器/防火墙上实现透明代理。
假设它是Linux,你可以使用这个
http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
如果是别的东西(思科,检查点),他们应该都支持类似的设置。
如果您无法访问防火墙/路由器,则可以在实际的apache机器上实现透明代理。