Tomcat: «X-Forwarded-For» не работает с балансировщиком нагрузки - PullRequest
3 голосов
/ 24 марта 2020

В настоящее время мы работаем над настройкой резервного сервера (2 сервера + 1 балансировщик нагрузки) с использованием обновления 76 Tomcat 7. Чтобы выполнить требования журналирования нашей компании, мы пытаемся получить IP-адрес удаленного сервера, который фактически отправляет запрос, а не IP-адрес балансировщика нагрузки. К сожалению, нам не удалось заставить его работать со следующей документацией:

Мы использовали следующую конфигурацию для регистрации доступа и удаленного клапана:

<Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="xxx\.xxx\.xxx\.7|xxx\.xxx\.xxx\.8|xxx\.xxx\.xxx\.9"  remoteIpHeader="X-Forwarded-For" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="access_log." suffix=".log"
pattern="%{org.apache.catalina.AccessLog.RemoteAddr}r %l %u %t &quot;%r&quot; %s %b" 
requestAttributesEnabled="true" />

Заголовок запроса 'X-Forwarded -For 'был установлен и балансировщик нагрузки был проанализирован с помощью wireshark. Однако мы по-прежнему получаем только IP-адрес балансировщика нагрузки, а не IP-адрес удаленного клиента. IP-адреса конфигурации уже были проверены, и они верны.

...