Назад | Перейти на главную страницу

Nginx $ http_x_forwarded_for не всегда устанавливается

Я заметил в наших журналах доступа, что иногда $http_x_forwarded_for переменная не была установлена, вместо этого правильный IP-адрес - это тот, который установлен на $remote_addr. Можно ли установить $http_x_forwarded_for так как $remote_addr, когда его иначе не существует?

В основном следующие псевдокод, в логике nginx:

if($http_x_forwarded_for == null) $http_x_forwarded_for = $remote_addr

Я основываю некоторые зоны ограничения требований на $http_x_forwarded_for, поэтому я думаю, что эта проблема может быть причиной того, что она не всегда срабатывает.

Спасибо.

Рискну предположить, что у тебя есть ngx_http_realip_module включен, и не все IP-адреса ваших прокси указаны как доверенные.