Estou testando uma nova configuração de servidor da web que está tendo alguns problemas. Essencialmente, temos um servidor web, onde o código usa o IP remoto para algumas coisas interessantes, e também alguns diretórios apache protegidos por alguns IPs (nosso escritório, etc.).
No entanto, acabamos de colocar isso por trás do ha_proxy para que possamos adicionar mais alguns servidores de aplicativos, mas agora o IP remoto está sempre aparecendo como o proxy proxy, não como o usuário remoto real. Isso significa que não podemos chegar a alguns locais, e nosso aplicativo está se comportando de maneira um tanto estranha em que o IP do usuário é importante.
Nossa configuração é a seguinte:
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
ereqidel ^X-Real-IP:
isso deixa de falsificar IPs em seus logs. FYI:X-Real-IP
é o cabeçalho padrãoNginX
da opção 'set_real_ip_from
.