tomcat发布项目时,localhost可以访问,用ip地址不能访问,同时其他电脑也不能访问。

  最近在开发项目中,遇到的一个问题是:在 tomcat中发布一个web项目,但是发布成功后,只能用http://localhost:8080/aml访问项目,不能用http://172.0.0.1:8080/aml访问项目,也不能用本地的IP地址访问,同时其他同事的电脑也不能访问。

  起初以为是防火墙的问题,但是关闭防火墙后,依旧是不能访问。同时,关闭不允许远程访问也不可以。后来在查看资料的时候知道,tomcat绑定IP地址的问题,而win7默认使用的是ipv6协议,通过ping localhost查看IP是哪种格式,得知::1 IPv6。

  先解决方案:

  1:启动tomcat,使用cmd命令:D:\tomcat\bin>netstat -an | findstr "8080",查看tomcat地址绑定。

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

1 <Connector port="8080" address="0.0.0.0" protocol="HTTP/1.1" 
2                connectionTimeout="20000"
3                redirectPort="8443" />

  3:重启tomcat,再次查看tomcat地址绑定。发现绑定地址已变为0.0.0.0:8080,ipv4协议。

  另外,address属性的修改还可以让tomcat绑定指定的IP,如:address="127.0.0.1",这样tomcat就只监听IP地址127.0.0.1的8080端口了。(默认情况下,它会监听所有的IP。)

  

posted @ 2016-03-06 10:18  ngulc  阅读(24746)  评论(1编辑  收藏  举报