HttpServletRequest.getRemoteAddr() в Tomcat возвращает IP-адрес, отформатированный IPv6

HttpServletRequest.getRemoteAddr() в Tomcat возвращает IP-адрес, отформатированный IPv6, но я хотел бы настроить его, который возвращает IPv4.

Я получаю доступ к сервлету через "localhost". Если я получаю доступ к нему через '127.0.0.1', то возвращает IP-адрес в формате IPv4 (см. этот ответ).

Окружающая среда:

  • Windows 7 x64
  • Tomcat 6.0.35-windows-x64

Свойства подключения к локальной сети: IPv6 отключен, но он не работает ни при проверке.

My LAN connection properties

Ответ 1

попробуйте добавить этот параметр -Djava.net.preferIPv4Stack=true в свою командную строку запуска tomcat.

Ответ 2

когда вы используете localhost/xxx, ваш браузер сначала должен найти отображаемый адрес для имени "localhost". В системном файле хоста вы найдете:

# 127.0.0.1 localhost

#:: 1 localhost

оба параметра отключены по умолчанию.

чтобы изменить правила соответствия браузера по умолчанию, вы должны включить определение.

например: удалите "#" из первой строки файла хоста, ваш brower будет знать, что "localhost" будет иметь значение 127.0.0.1

Приветствия