问题背景及描述:
同事在开发过程当中,将服务部署到本机tomcat,并且将服务访问端口号修改为8089,发现通过 localhost:8089 和 127.0.0.1:8089 两种方式可以访问服务。但是使用本机局域网ip不能访问服务(192.168.0.142:8089),所以找我远程协助解决。该文记录在此过程中遇到的所有情况及解决方式。
系统环境:
| 环境 | 参数 |
|---|---|
| 操作系统 | windows7 |
| Tomcat | tomcat7 |
| 浏览器 | 360、chrome |
情况一:
可以借鉴网上最普遍的一种解决方案,如下:
(借鉴的解决方案)
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.
但是此种方法并不适用,因为同事的地址绑定在 Ipv4上,这个并没有问题。
继续寻找方法。
情况二:
猜想电脑防火墙设置将请求拦截。
尝试以下步骤:
- 关闭系统防火墙
- 将8089端口注册入站
- 重启tomcat服务
cmd输入netstat -aon指令查看端口占用情况,此时发现外部地址为 192.168.0.142:8089的服务状态已经为LISTENING,但是通过浏览器访问192.168.0.142:8089,访问失败。
显然此种方式也不适合目前遇到的情况。
继续寻找方法。
情况三:
经过上述两种方法,在均失败的情况下,心情也是颇为郁闷。这个时候就不得不想一些剑走偏锋的方法了,比如:
- 检查了同事电脑的杀毒软件,360安全管家,(⊙﹏⊙)b,将其关闭。
- 在此前尝试各种方法,均在360浏览器中访问失败。尝试在chrome中访问。
success!
后记:
颇为郁闷的一次问题处理过程,花了将近一个半小时,尝试了多种方法,最后问题的原因竟是如此。所以,开发者尽量还是使用chrome,并且摒弃……
本文记录了一位开发者在遇到本机局域网IP无法访问部署在Tomcat上的服务时,逐步排查并解决的过程。从检查Tomcat绑定地址、防火墙设置到杀毒软件的影响,最终在关闭360安全管家后,问题在Chrome浏览器中得到解决。

3803

被折叠的 条评论
为什么被折叠?



