我使用“Web Server”软件包select来安装CentOS 6.5,其他所有内容都是默认值。
我做了一个service tomcat6 start ,然后ss -ntlp来确认Tomcat正在侦听端口8080,如默认的Tomcat 6 /etc/tomcat6/server.xml中指定。 这是输出:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::111 :::* users:(("rpcbind",1012,11)) LISTEN 0 128 *:111 *:* users:(("rpcbind",1012,8)) LISTEN 0 100 :::8080 :::* users:(("java",1561,37)) LISTEN 0 128 :::22 :::* users:(("sshd",1216,4)) LISTEN 0 128 *:22 *:* users:(("sshd",1216,3)) LISTEN 0 128 127.0.0.1:631 *:* users:(("cupsd",1102,7)) LISTEN 0 128 ::1:631 :::* users:(("cupsd",1102,6)) LISTEN 0 100 ::1:25 :::* users:(("master",1292,13)) LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1292,12)) LISTEN 0 128 :::33081 :::* users:(("rpc.statd",1030,11)) LISTEN 0 128 *:33657 *:* users:(("rpc.statd",1030,9)) LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",1561,39)) LISTEN 0 50 :::8009 :::* users:(("java",1561,38))
这是否意味着Tomcat只能监听IPv6而不是IPv6和IPv4? 为什么不能“开箱即用”,可以这么说呢?
它仅取决于sysctl net.ipv6.bindv6only的值。
如果设置为0,则IPv6 INADDR6_ANY地址( :: :)上的侦听器将侦听IPv6和IPv4连接,除非应用程序本身也在套接字上设置IPV6_V6ONLY。
如果设置为1,这样一个监听器将只侦听IPv6连接。
# sysctl net.ipv6.bindv6only net.ipv6.bindv6only = 0
testing应用程序是否正在侦听IPv4应该是微不足道的…
telnet 127.0.0.1 8080