Повторяющийся IP-адрес в журнале доступа Apache за прокси-сервером nginx

Недавно я унаследовал инфраструктуру, в которой все пользователи проходят через AWS ELB -> прокси nginx -> AWS ELB -> Apache. Проблема, которую я вижу, заключается в том, что IP-адрес клиента отображается дважды в Apache, строка, подобная этой:

«xxxx, xxxx» - - [26 / Oct / 2016: 18: 59: 10 +0000] «GET / .... if ($ xxx-example-com-maintenance) { возврат 503; } if ($ http_origin ~ * (https?: // xxx \ .example \ .com)) { add_header 'Access-Control-Allow-Origin' "$ http_origin"; } proxy_set_header Хост $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_pass $ upstream;

Теперь формат журнала Apache выглядит следующим образом:

LogFormat "\"% {X-Forwarded-For} i \ "% l% u% t \"% r \ "%> s% b \ "% {Referer} i \" \ "% {User-agent} i \" SESSION -% {frontend} C% h "перенаправлен

Последний был скопирован из предыдущего веб-стека и работал нормально. Вроде застрял здесь, потому что с моей точки зрения все выглядит хорошо. Я обнаружил nginx real_ip_header, а X-Forwarded-For кажется неправильным , однако я использую nginx 1.10. Версия Apache - 2.4.23. Будем признательны за любые идеи о том, как устранить эту неполадку. Заранее спасибо.

0
задан 13 April 2017 в 15:14
1 ответ

Оказывается, заголовок X-Forwarded-For должен вести себя подобным образом, и решение заключалось в использовании другого заголовка, который не использовал ELB - в моем случае X-Real- IP. Теперь я могу видеть в журналах только один IP.

0
ответ дан 5 December 2019 в 09:24

Теги

Похожие вопросы