在tomcat5中发布项目时,用IP地址+端口不能访问项目,而用localhost加端口时能够访问成功

最近在开发项目中,遇到的一个问题是:web

在 tomcat中发布一个web项目,可是发布成功后,只能用http://localhost:8080/fm访问项目,不能用tomcat

http://127.0.0.1:8080/fm访问项目,也不能用本地的IP地址访问(http://192.16/8.0.191:8080/fmserver

起初认为是防火墙的缘由,可是防火墙是关闭的,应该没有影响;xml

后来认为是win7的缘由,那个远程那有个不容许远程访问,可是更改了都没有效果;开发

再后来认为是想原来tomcat6的时候,没有出现过此问题,因此如今以为应该是tomcat5的问题。get

 

通过从网上查找,缘由应该是tomcat绑定IP地址的问题,能够经过ping localhost查看IP是哪一种格式,现解决方案以下:cmd

(借鉴而得的解决方法)io

1. 使用cmd命令netstat -n, 查看tomcat地址绑定, 发现是绑定到::1, IPv6.class

2. 配置tomcat的server.xml, 更改connector配置, 端口不用改, 加上address="0.0.0.0", 使其绑定到IPv4, 以下配置

 <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" />

(借鉴的解决方案)
<1>使用cmd命令netstat -n, 查看tomcat地址绑定, 发现是绑定到::1, IPv6;
<2> 配置tomcat的server.xml, 更改connector配置, 端口不用改, 加上address="0.0.0.0", 使其绑定到IPv4
      <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" />
<3>重启tomcat, 再次使用netstat -n, 查看tomcat地址绑定, 已变为IPv4.
此问题便可迎刃而解。
(貌似TOMCAT5.5存在此问题)
相关文章
相关标签/搜索