Tomcat5.5获取监听IPV6和IPV4的修改方法
2014-02-20 10:28
1431 查看
Tomcat5.5获取监听IPV6和IPV4的修改方法
今天遇到一个很奇怪的问题,在同一台机器上的应用1和应用2,使用相同的Tomcat,只不过是启动的端口不同,发现两个应用都会出现很奇怪的问题:两个应用监听的端口都在监听状态,但是通过telnet 127.0.0.1 port 都连接不上,很是奇怪。出现问题的机器操作系统为windows server2008。下图中的“8080”端口是可以通过telnet连接的,但是“8088”端口通过telnet是连接不成功的,连接时会报“无法连接到目标端口的错误”。通过netstat命令查看两个端口的区别,区别是:8080端口是绑定到“0.0.0.0:8080”,而8088端口则没有这样的绑定。如下图:
[align=left] [/align]
任何诡异的现象后面都隐藏着一个不为人知的问题,抱着不达目的誓不罢休的精神最终在网上找到了解决方案,经过测试,下面的方案是可行的。解决方案如下:
找到tomcat5.5目录下的conf\server.xml文件,在下面的代码中添加红色字体内容:
添加address="0.0.0.0",修改后内容如下:
产生此问题的根本原因是Tomcat5.5在启动的时候,如果检测到系统支持IPV6,默认监听的是IPV6的端口,导致通过IPV4无法访问。使用address=“0.0.0.0”的意思是监听IPV4协议栈下的任何端口。
IPV4协议监听任何地址应配置:0.0.0.0
IPV6协议监听任何地址赢配置:0:0:0:0:0:0:0:0
据说Tomcat6及之后的版本不会出现问题,默认监听的是IPV4的地址端口。
今天遇到一个很奇怪的问题,在同一台机器上的应用1和应用2,使用相同的Tomcat,只不过是启动的端口不同,发现两个应用都会出现很奇怪的问题:两个应用监听的端口都在监听状态,但是通过telnet 127.0.0.1 port 都连接不上,很是奇怪。出现问题的机器操作系统为windows server2008。下图中的“8080”端口是可以通过telnet连接的,但是“8088”端口通过telnet是连接不成功的,连接时会报“无法连接到目标端口的错误”。通过netstat命令查看两个端口的区别,区别是:8080端口是绑定到“0.0.0.0:8080”,而8088端口则没有这样的绑定。如下图:
[align=left] [/align]
任何诡异的现象后面都隐藏着一个不为人知的问题,抱着不达目的誓不罢休的精神最终在网上找到了解决方案,经过测试,下面的方案是可行的。解决方案如下:
找到tomcat5.5目录下的conf\server.xml文件,在下面的代码中添加红色字体内容:
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> |
<Connector port="8080" maxHttpHeaderSize="8192"address="0.0.0.0" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/> |
IPV4协议监听任何地址应配置:0.0.0.0
IPV6协议监听任何地址赢配置:0:0:0:0:0:0:0:0
据说Tomcat6及之后的版本不会出现问题,默认监听的是IPV4的地址端口。
相关文章推荐
- IPV6开启状态下,tomcat监听IPV4端口
- [记]WIndow/Linux 获取本机(全部)IPv4、IPv6、MAC地址方法 (C/C++)
- 如何修改tomcat ipv6 转换为 ipv4
- windows 获取本机(全部)IPv4、IPv6、MAC地址方法 (C/C++)
- #获取本机IP地址时排除IPv6类型,只返回IPv4地址的方法
- IPV6开启状态下,tomcat监听IPV4端口
- C#获取本机IP(排除IPV6,仅获取IPV4)的方法--转载
- C#获取本机IP(排除IPV6,仅获取IPV4)的方法
- ipv4、ipv6的socket同时监听“bind: Address already in use”的解决方法
- eclipse项目名称更改,修改tomcat部署名称还是原来的项目名称的方法
- tomcat占用jvm内存数修改方法及监控方法
- Tomcat 7最大并发连接数的正确修改方法
- 修改Tomcat编码方式的两种方法
- 修改jsp、Java文件不用重启Tomcat服务的方法
- 把apache和jettty(jboss/tomcat)通讯从mod_jk方式调整为mod_proxy方式后,应该获取IP方式要修改。
- Tomcat设置虚拟目录的方法, 不修改server.xml
- 提供一个C#获取本机IP地址的方法,不会出现获取的ip地址是IPV6或不能用的
- 如果修改Apache-tomcat的监听端口
- Tomcat 7最大并发连接数的正确修改方法
- Tomcat 7最大并发连接数的正确修改方法