如何绑定tomcat7到ipv6

How to bind tomcat 7 to ipv6

我正在尝试将 apache-tomcat-7.0.77 绑定到我的本地 link ipv6 地址。请注意,我正在开发 windows 10 pro。

我在下面做了 -

[1] 起初我只是简单地使用启动命令初始化服务器并尝试使用我的本地 link 地址([ipv6]:8080/manager/html), 但它没有用。

[2] 作为解决方法,

[2.a] 我在 C:\Windows\System32\drivers\etc\hosts 文件中添加了一个配置,用于新主机名和我的本地 link 地址,如下所示 -- [my local link address] rahul

[2.b] 使用新的地址属性更新了 tomcat 的 server.xml ---

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" address="<my local link address>"/>

[2.c] 现在,当我点击 url - http://rahul:8080/manager/html 时,我可以访问经理页面。但它仍然无法使用 url -- http://[ipv6 add]:8080/manager/html

还有命令 -

`netstat -an | find "8080"` 

给我输出--->

`TCP    [<my local link ipv6 add>]:8080  [::]:0`

这意味着 tomcat 实际上正在监听我本地的 link ipv6 地址。

这种方法可行,但这种方法的唯一问题是我必须在 server.xml

中提及地址

请帮助我建议我可以在 windows 机器上将 tomcat 7 绑定到 ipv6 而无需在 server.xml

中指定地址属性的方法

很多时候,具有多个 "up" 接口的设备在连接到 Link-本地地址时会出现问题,因为所有接口的前缀都相同。例如,如果您打开了 WiFi 以及有线 link,您的 OS 可能不知道将 Link-本地流量发送到哪个接口。不久前我在 nMap 中遇到了这个问题,解决方案是在扫描 Link-Local 主机时在末尾添加“%eth0”。我提出这个问题的原因(即使您没有询问 nMap)只是为了让您知道它是如何工作的。

将 %eth0 替换为您的接口之一的实际接口 ID,并将 Link-本地地址替换为您自己的:

http://[fe80::bad:c0de%eth0]:8080/manager/html

Internet Explorer 需要对值进行转义,因此在其前面加上 25,因此它看起来像这样:

http://[fe80::bad:c0de%257]:8080/manager/html

我刚找到这个 https://msdn.microsoft.com/en-us/library/windows/desktop/ms740593(v=vs.85).aspx,它确切地显示了如何处理 Windows。

编辑:我刚刚重新阅读了您的问题并注意到这是关于绑定 Tomcat 具体而言,而不仅仅是通过 Link 访问页面-本地。

据我所知,只要服务器条目有 address="::",它就应该绑定到所有 IPv4 和所有 IPv6。这样,您的 netstat -na | find "8080" 应该让 Tomcat 服务器侦听所有 IP 地址(包括 Link-Local)。然后,使用我上面建议的浏览到 Link-本地地址进行测试。