我正在使用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
答案 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手册中提到,错误)