我正在测试一个新的Web服务器设置,它有几个问题。本质上,我们有一个Web服务器,其中的代码使用远程IP进行一些有趣的事情,还有一些apache目录,这些目录被保护到某些IP(我们的办公室等)。
但是,我们只是在ha_proxy后面添加了这个名称,所以我们可以考虑添加更多的应用服务器,但是现在远程IP总是作为代理ip而不是真正的远程用户通过。这意味着我们无法到达某些位置,并且我们的应用在用户IP重要的地方表现得有些奇怪。
我们的配置如下:
global
maxconn 4096
pidfile /var/run/haproxy.pid
daemon
defaults
mode http
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen farm xxx.xxx.xxx.xxx:80
mode http
cookie GALAXY insert
balance roundrobin
option httpclose
option forwardfor
stats enable
stats auth username:userpass
server app1 xxx.xxx.xxx.xxx:80 maxconn 1 check
option forwardfor header X-Real-IP
和reqidel ^X-Real-IP:
,这可以防止伪造日志中的IP。仅供参考:X-Real-IP
是NginX
'option 的默认标题set_real_ip_from
。