Testuję nową konfigurację serwera WWW, która ma kilka problemów. Zasadniczo mamy serwer WWW, w którym kod używa zdalnego adresu IP do niektórych interesujących rzeczy, a także niektóre katalogi apache zabezpieczone do niektórych określonych adresów IP (nasze biuro itp.).
Jednak właśnie zarzuciliśmy to za ha_proxy, abyśmy mogli spojrzeć na dodanie kolejnych serwerów aplikacji, ale teraz zdalny adres IP zawsze pojawia się jako adres IP serwera proxy, a nie prawdziwy zdalny użytkownik. Oznacza to, że nie możemy dostać się do niektórych lokalizacji, a nasza aplikacja zachowuje się nieco dziwnie tam, gdzie ważne jest IP użytkownika.
Nasza konfiguracja wygląda następująco:
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
areqidel ^X-Real-IP:
to zatrzymuje fałszywe adresy IP w dziennikach. FYI:X-Real-IP
jest domyślnym nagłówkiemNginX
opcji „set_real_ip_from
.