【问题标题】:How to use ipv6onlyv6 property in tomcat's server.xml如何在 tomcat 的 server.xml 中使用 ipv6onlyv6 属性
【发布时间】:2017-07-24 15:43:50
【问题描述】:

我使用的是 tomcat 8.x,我的网络同时支持 ipv4 和 ipv6 地址。但是,我希望 tomcat 只听 ipv6 地址(而不是 ipv4)。

我试图在谷歌上找到解决方案并找到了 tomcat 的手册 - http://library.bec.ac.in/docs/config/http.html。在这个页面上,地址属性描述说------->

对于具有多个 IP 地址的服务器,此属性指定将使用哪个地址侦听指定端口。默认情况下,连接器将侦听所有本地地址。除非使用系统属性以其他方式配置 JVM,否则当配置为 0.0.0.0 或 :: 时,基于 Java 的连接器(NIO、NIO2)将侦听 IPv4 和 IPv6 地址。如果配置为 0.0.0.0,APR/本机连接器将仅侦听 IPv4 地址,如果配置为 ::,则将侦听 IPv6 地址(以及可选的 IPv4 地址,具体取决于 ipv6onlyv6 的设置)。

根据上面的描述,使用ipv6onlyv6,我可以让tomcat只监听ipv6地址,但是描述没有给出关于如何在server.xml中使用该属性的正确示例。

我在 server.xml 中尝试了以下属性 ipv6onlyv6 的组合,但它们都不起作用----

组合[1]——

address="::"
ipv6onlyv6="true"

[2]组合---

address="ipv6onlyv6"

请帮忙。提前致谢。如果有人知道在 tomcat 6.x 中执行此操作的方法,那就太好了,因为我们的应用程序很少使用 tomcat 6.x

...拉胡尔

【问题讨论】:

    标签: tomcat


    【解决方案1】:

    要仅使用 ipv6v6,我必须执行以下步骤 --

    [1] ipv6v6只使用apr库,所以在tomcat中包含apr库

    [2] tomcat的server.xml中有一个listener标签,它会加载apr库,包括useAprConnector="true",在里面

    <!--APR library loader. Documentation at /docs/apr.html -->
    

    [3] 在所需的连接器节中使用以下配置

    address="::" ipv6v6only="true"
    

    完整的连接器标签示例 --

     <Connector port="8080"
               connectionTimeout="20000"
               compression="on"
               compressionMinSize="10240"
               compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/x-javascript,application/javascript,application/json,application/xml,application/xhtml+xml,application/xslt+xml"
               URIEncoding="UTF-8" address="::" ipv6v6only="true" protocol=“org.apache.coyote.http11.Http11AprProtocol” />
    

    请注意,属性的正确名称是-ipv6v6only,而不是ipv6onlyv6(这两个都在tomcat手册中提到过,有误)

    【讨论】:

      猜你喜欢
      • 2011-12-15
      • 1970-01-01
      • 2012-01-05
      • 2021-09-29
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 2021-10-21
      相关资源
      最近更新 更多