Nginx позволяет настраивать форматы журналов для журналов доступа - прямо сейчас я веду журнал http_x_forwarded_for, и он работает нормально.
Проблема в том, что в моем журнале ошибок отображается только LB IP. После поиска в Google и прочтения их документации кажется, что error_log не поддерживает настраиваемый формат, а только устанавливает уровень журнала (информация, предупреждение, уведомление, предупреждение и т. Д.).
Есть ли какое-либо обходное решение или модуль, который я мог бы использовать чтобы обойти это?
Для полноты, моя установка:
Amazon ELB -> пул экземпляров, запускающих nginx в качестве обратного прокси для php-fpm 7.0
Вы должны использовать реальный IP-модуль , чтобы фактический IP-адрес клиента считался удаленным IP-адресом, а не IP-адресом балансировщика нагрузки. Таким образом, вам не придется проверять X-Forwarded-For ни в своих журналах, ни в приложении.
Включить его просто, просто укажите IP-адрес (а) балансировщика нагрузки:
set_real_ip_from 10.0.0.0/8;
set_real_ip_from 172.16.0.0/12;
set_real_ip_from 192.168.0.0/16;
real_ip_header X-Forwarded-For;