如何绑定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-本地地址进行测试。
我正在尝试将 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-本地地址进行测试。