Tomcat5.5获取监听IPV6和IPV4的修改方法
来源:互联网 发布:淘宝职业打假 编辑:程序博客网 时间:2024/05/16 23:38
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端口则没有这样的绑定。如下图:
任何诡异的现象后面都隐藏着一个不为人知的问题,抱着不达目的誓不罢休的精神最终在网上找到了解决方案,经过测试,下面的方案是可行的。解决方案如下:
找到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" />
添加address="0.0.0.0",修改后内容如下:
<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"/>
产生此问题的根本原因是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的地址端口。
- Tomcat5.5获取监听IPV6和IPV4的修改方法
- Ipv6上Ipv4的方法
- IPv6和IPv4之间的通信机制和方法
- ipv4和ipv6的区别
- IPv4和IPv6的区别
- IPv4和IPv6的区别
- ipv4和ipv6的区别
- IPV4和IPV6的区别
- ipv4和ipv6的区别
- ipv4和ipv6的区别
- ipv4和ipv6的区别
- IPV4和IPV6的区别
- ipv4和ipv6的区别
- IPv4和IPv6的区别
- ipv4和ipv6的区别
- ipv4和ipv6的区别
- C#获取本机IP(排除IPV6,仅获取IPV4)的方法
- IPv4和IPv6的互操作性
- C#实现透明背景的垂直Label控件
- Cracking the coding interview--Q5.5
- 35 个你也许不知道的 Google 开源项目
- 排序方法
- mysql 命令行备份还原数据库操作
- Tomcat5.5获取监听IPV6和IPV4的修改方法
- mhout in action : 13.4.1 阶段1(训练分类模型)的流程
- php学习笔记之1.1集成开发环境配置
- python 中 r+string的用法
- 朝花夕拾-工作一年后重拾c语言基础,与君共勉(二)
- dom4j api 详解
- linux日常应用管理(2)---diff
- ubuntu下安装ffmpeg,ffplay问题
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)