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;