在Tomcat中,HttpServletRequest.getRemoteAddr()返回IPv6格式的IP地址。

3

在Tomcat中,HttpServletRequest.getRemoteAddr()返回IPv6格式的IP地址,但我想将其配置为返回IPv4格式的IP地址。

如果我通过“localhost”访问servlet,则返回IPv4格式的IP地址。如果我通过“127.0.0.1”访问它,则返回IPv4格式的IP地址(请参见此答案)。

环境:

  • Windows 7 x64
  • Tomcat 6.0.35-windows-x64

我的局域网连接属性: 已关闭IPv6,但即使我打开它也不起作用。

My LAN connection properties


嗯...现在已经是2012年了。IPv6变得越来越流行,你却禁用它? - glglgl
2个回答

17

尝试在Tomcat启动命令行中添加此参数-Djava.net.preferIPv4Stack=true


0

当您使用localhost/xxx时,您的浏览器首先必须找到名称“localhost”的映射地址。在系统主机文件中,您会发现:

# 127.0.0.1 localhost

# ::1 localhost

这两个定义默认情况下都被禁用。

要更改浏览器的默认匹配规则,您必须启用该定义。

例如:从第一行主机文件中删除“#”,您的浏览器将直接知道“localhost”等于127.0.0.1

干杯


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接