Connection refused问题的排查
昨天改动了下开通的代码,今天上线后发现收到很多下面的报错邮件。
返回信息: 通信失败!Connection refused (111)
看了下代码,发现是fsockopen连接的时候返回的这个错误。
于是就网上搜索了下相关的错误信息,没找到类似的错误。
重新检查了遍代码,发现fsockopen的时候是直接连接的IP+端口。
在服务器上,通过curl访问对应的域名发现可以正常输出,没问题。
执行命令:
curl -I 测试域名
然后换通过IP访问进行测试。
执行命令:
curl -I IP地址
下面加上端口进行测试。
执行命令:
curl -I IP地址:端口号
执行的结果:
通过结果发现服务器没有回应,然后通过IP访问某个页面再进行测试。
执行命令:
curl -I IP地址:端口号/xx.php
执行的结果:
这里就可以清楚的看到是“couldn't connect to host”的报错。
通过域名、IP访问都有问题,加上端口后就无法访问,怀疑是端口的问题。
执行命令:
telnet IP地址 端口号
执行的结果:
通过这个结果,猜测相应服务器的这个端口没有开放。
登录相应服务器上排查后得到验证,开放相应端口,至此Connection refused的问题终于得到解决,再也没有收到类似的邮件了。