当我ping 本地主机我可以看到 localhost 名称解析为 :::1 而不是 127.0.0.1。您知道如何解决这个问题吗?我需要为 Tomcat 服务器提供 localhost 的 ipv4 解析。
我可以使用 Windows 的 hosts 文件中的“127.0.0.1 localhost”快速修复此问题,但我认为可能有更好的解决方案。
答案1
坦白说,使用主机文件。它存在的原因是为了修复您描述的问题,所以没有理由不使用它。
禁用 IPv6 不受支持,并且会破坏功能(尽管没有什么严重影响)。这比触碰主机文件更具破坏性。
答案2
如果不使用,您可以禁用 IPv6 服务。
进入注册表,找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\参数
添加此内容:
- 键:DisabledComponents
- 类型:DWORD
- 值: 0xffffffff
答案3
我建议让 tomcat 也监听 ipv6 堆栈。通常应该可以,你使用哪个版本?
答案4
您需要更改前缀策略表中的解析顺序。但是我怀疑这不会解决您遇到的任何问题,因为 127.0.0.1 是 ::1。如果 tomcat 没有在 v4 堆栈上收到响应(如果它尝试连接到 v4 上的本地主机),则存在其他问题。除非您已将 v4 从 NIC 中解除绑定,否则您将始终从 v4 堆栈获得 v4 答案,从 v6 堆栈获得 v6 答案
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters 中执行此操作
添加(如果不存在)项:DisabledComponents 作为 DWORD(32 位)值
下一个
1. 找到 DisabledComponents 的当前值数据。2. 将数据更改为二进制数据。它将是一个 32 位二进制值。3. 找到数据的第六位,然后将其设置为 0。不要更改任何其他位。例如,如果当前数据是 1 ...