【问题标题】:How to bind tomcat 7 to ipv6如何将tomcat 7绑定到ipv6
【发布时间】:2017-05-09 09:46:53
【问题描述】:

我正在尝试将 apache-tomcat-7.0.77 绑定到我的本地链接 ipv6 地址。请注意,我正在使用 Windows 10 专业版。

我在下面做了 -

[1] 起初我只是简单地使用 start 命令初始化服务器,并尝试使用我的本地链接地址 ([ipv6]:8080/manager/html) 访问 tomcat 的管理器页面,但没有成功。

[2] 作为一种解决方法,

[2.a] 我在 C:\Windows\System32\drivers\etc\hosts 文件中添加了一个新主机名和我的本地链接地址的配置,如下所示 -- [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实际上是在监听我的本地链接ipv6地址。

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

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

【问题讨论】:

    标签: tomcat7 ipv6


    【解决方案1】:

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

    将 %eth0 替换为您的其中一个接口的实际接口 ID,并将 Link-Local 地址替换为您自己的:

    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-Local 访问页面。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-01
      • 2020-02-20
      • 1970-01-01
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多