本人很不愿意搞windows服务器,这不,正准备收拾东西搬家,用户来消息说有个服务器的服务不能正常连接。具体表现是 telnet 127.0.0.1 8008可以连,但执行 telnet 172.16.5.10 8008 死活就不行。提示:172.16.5.10 就是本服务器的接口ip。
没办法,催得凶,只好远程登录上去。
查看端口8008是否存活?对方坚持说服务是正常的,因为telnet 127.0.0.1 8008是正常的。netstate -an发现端口8008确实在监听。那么由此初步判断,可能是防火墙的设置问题。
暂时解决不了,有电话相互沟通了一阵,想了几种可能,挨个尝试,还是不行。突然,一个程序员提出,这个windows服务器上还有另外的服务,但确是正常的,开的端口是tcp 6789。我在服务器本地用命令行执行 telnet 127.0.0.1 6789 ,再执行 telnet 172.16.5.10 6789 也可以连接。然后我又返回防火墙规则那里查入站和出站,列表里根本就没有这个tcp 6789这个端口。由此判断与防火墙无关,又仔细确认了一遍,防火墙确实是关闭了。
再切换到命令行端口,执行netstat -an ,查看输出,仔细观察,终于发现端倪。
正常工作的服务,监听的tcp地址是0.0.0.0,而不正常的服务,监听的地址是 127.0.0.1。火速让程序员改程序,改完重启服务,终于正常了。
但愿以后不要用该死的windows服务了!!!
本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/1751756 ,如需转载请自行联系原作者