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 отключен, но он не работает, если я включаю его.
2 ответа
Попробуйте добавить этот параметр -Djava.net.preferIPv4Stack=true
к вашей командной строке запуска tomcat.
Когда вы используете localhost/xxx, ваш браузер сначала должен найти сопоставленный адрес для имени "localhost". В файле системного хоста вы найдете:
# 127.0.0.1 localhost
#:: 1 localhost
оба определения отключены по умолчанию.
чтобы изменить правила сопоставления по умолчанию в браузере, необходимо включить определение.
Например: удалите "#" из первой строки файла хоста, ваш браузер будет точно знать, что "localhost" равен 127.0.0.1
ура