Estoy probando una nueva configuración del servidor web que tiene un par de problemas. Esencialmente, tenemos un servidor web, donde el código usa la IP remota para algunas cosas interesantes, y también algunos directorios apache asegurados a ciertas IP (nuestra oficina, etc.).
Sin embargo, acabamos de lanzar esto detrás de ha_proxy para que podamos considerar agregar algunos servidores de aplicaciones más, pero ahora la IP remota siempre aparece como la ip del proxy, no el usuario remoto real. Esto significa que no podemos llegar a algunas ubicaciones, y nuestra aplicación se está comportando un poco extraño donde la IP del usuario es importante.
Nuestra configuración es la siguiente:
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
yreqidel ^X-Real-IP:
, esto deja de falsificar IP en sus registros. FYI:X-Real-IP
es el encabezado predeterminado paraNginX
la opción 'set_real_ip_from
.