Ніколи ще не доводилось мені таке бачити, коли в x-forwarded-for було декілька IP які розділені між собою комою. Відразу зрозумів що питання у каскадному проксі, які додають кожен свою адресу. Рішення не прийшло відразу, але стало зрозуміло що звичайного інструменту немає.
Ось для встанолення однієї адреси до x-forwarded-for додав таке рішення:
1 2 3 4 5 |
set $realip $remote_addr; if ($http_x_forwarded_for ~ "^(\d+\.\d+\.\d+\.\d+)") { set $realip $1; } fastcgi_param REMOTE_ADDR $realip; |
Після цього php знов почав вірно обробляти запити від клієнтів.