如何在tomcat的server.xml中使用ipv6onlyv6属性

时间:2017-06-05 09:09:35

标签: tomcat

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

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

对于具有多个IP地址的服务器,此属性指定将用于侦听指定端口的地址。默认情况下,连接器将侦听所有本地地址。除非使用系统属性以其他方式配置JVM,否则基于Java的连接器(NIO,NIO2)将在配置0.0.0.0或::时侦听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

...的Rahul

1 个答案:

答案 0 :(得分:0)

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

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

[2] tomcat的server.xml中有一个监听器标签,它将加载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手册中提到,错误)