HttpServletRequest.getRemoteAddr () всегда возвращается 127.0.0.1

Мы пытаемся определить, куда определенные запросы прибывают из нашего JAVA-приложения. Мы изменили файлы журнала для включения IP-адреса, и мы используем httpServletRequest.getRemoteAddr () для получения того удаленного адреса.

На наших локальных машинах разработки рабочий Tomcat это работает. В нашей среде CI (Tomcat на Mac), это работает.

Проблема состоит в том, что на нашей подготовке и продуктивных средах, это не работает. Мы всегда видим 127.0.0.1 от httpServletRequest.getRemoteAddr (). Нашей подготовкой и продуктивными средами является оба VMware VMs рабочий CentOS. Они работают в/на ESXi и находятся позади Cisco 5500 ASA.

Мы видели другие сообщения, подобные этой проблеме, которые говорят для поиска заголовка "X-Forwarded-For" и печати это, если это существует. Это не делает. Ниже полный список заголовков, которые проникают через запрос.

У нас нет большого понимания, как ASA или VMware настраиваются поэтому, если существует что-то там, которое могло бы вызывать это, предоставьте подробный ответ на том, что спросить нашу группу IT, собирающуюся получать зафиксированный. Мы думаем, что это могло бы быть связано с VMware, так как мы видим 127.0.0.1. Если бы это был ASA, то мы предположили бы, что видели бы IP ASA вместо этого, но я открыт для того, чтобы быть сказанным, что я являюсь неправильным.

Полные заголовки для запроса:

user-agent:Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)
accept:text/html,application/xhtml+xml,application/xml
q=0.9,*/*
q=0.8
accept-language:en-US,en
q=0.8
accept-charset:ISO-8859-1,UTF-8
q=0.7,*
q=0.7
host:host-omitted-for-stackoverflow.com
connection:keep-alive

ОБНОВЛЕНИЕ - Мы просто поняли, что у нас было локальное включенное перенаправление порта:

Единственная другая вещь, которая могла бы быть релевантной, состоит в том, что мы используем HTTP xinetd перенаправление порта для передачи трафика SSL к внутреннему порту:

service https
{
    disable = no
    flags = REUSE
    socket_type = stream
    wait = no
    user = root
    port = 443
    protocol = tcp
    redirect = localhost 8999
    log_on_failure += USERID
}
1
задан 21 April 2015 в 17:46
2 ответа

Оказывается это была часть xinetd нашей конфигурации. Я собираюсь закрыть этот вопрос и задать еще один, конкретно спрашивающий об этом.

0
ответ дан 4 December 2019 в 07:57

Возможно, файлы конфигурации сети установлены неправильно. Более подробную информацию о них можно найти здесь: http://docs.oracle.com/cd/E37670_01/E41138/html/ch11s02.html

0
ответ дан 4 December 2019 в 07:57

Теги

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