6
如何将HAproxy与SSL结合使用并获取X-Forwarded-For标头,并告诉PHP正在使用SSL?
我有以下设置: (internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ] [running HAproxy] --+--> [ Apache / PHP server ] +--> [ Apache / PHP server ] \-> [ Apache / PHP server ] 对于HTTP请求,这很好用,请求可以很好地分配到我的Apache服务器。对于SSL请求,我让HAproxy使用TCP负载平衡来分发请求,但是它起作用了,因为HAproxy不充当代理,它没有添加X-Forwarded-ForHTTP头,并且Apache / PHP服务器也不知道客户端的真实IP地址。 因此,我stunnel在HAproxy前面添加了内容,阅读了tunnel可以添加X-Forwarded-ForHTTP标头的信息。但是,我可以安装到pfSense中的软件包不会添加此标头...而且,这显然使我无法使用KeepAlive请求,而我确实希望保留该请求。但是,使该想法无效的最大问题是隧道将HTTPS请求转换为纯HTTP请求,因此PHP不知道启用了SSL并试图将其重定向到SSL站点。 如何使用HAproxy在多个SSL服务器上实现负载平衡,从而使这些服务器既知道客户端的IP地址又知道正在使用SSL?如果可能的话,如何在pfSense服务器上做到这一点? 还是应该放弃所有这些,而仅使用nginx?