我有以下设置:
(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-For
HTTP头,并且Apache / PHP服务器也不知道客户端的真实IP地址。
因此,我stunnel
在HAproxy前面添加了内容,阅读了tunnel可以添加X-Forwarded-For
HTTP标头的信息。但是,我可以安装到pfSense中的软件包不会添加此标头...而且,这显然使我无法使用KeepAlive请求,而我确实希望保留该请求。但是,使该想法无效的最大问题是隧道将HTTPS请求转换为纯HTTP请求,因此PHP不知道启用了SSL并试图将其重定向到SSL站点。
如何使用HAproxy在多个SSL服务器上实现负载平衡,从而使这些服务器既知道客户端的IP地址又知道正在使用SSL?如果可能的话,如何在pfSense服务器上做到这一点?
还是应该放弃所有这些,而仅使用nginx?
X-Forwarded-For
,在这里看到。