Connection refused问题的排查

昨天改动了下开通的代码,今天上线后发现收到很多下面的报错邮件。

返回信息: 通信失败!Connection refused (111)

看了下代码,发现是fsockopen连接的时候返回的这个错误。
于是就网上搜索了下相关的错误信息,没找到类似的错误。

重新检查了遍代码,发现fsockopen的时候是直接连接的IP+端口。
在服务器上,通过curl访问对应的域名发现可以正常输出,没问题。
执行命令:

curl -I 测试域名

执行的结果:

可以看到,通过域名访问没问题。

然后换通过IP访问进行测试。
执行命令:

curl -I IP地址

执行的结果:

可以看到,通过IP访问也是没问题。

下面加上端口进行测试。
执行命令:

curl -I IP地址:端口号

执行的结果:

通过结果发现服务器没有回应,然后通过IP访问某个页面再进行测试。
执行命令:

curl -I IP地址:端口号/xx.php

执行的结果:

这里就可以清楚的看到是“couldn't connect to host”的报错。

通过域名、IP访问都有问题,加上端口后就无法访问,怀疑是端口的问题。
执行命令:

telnet IP地址 端口号

执行的结果:

通过这个结果,猜测相应服务器的这个端口没有开放。
登录相应服务器上排查后得到验证,开放相应端口,至此Connection refused的问题终于得到解决,再也没有收到类似的邮件了。

标签: none

添加新评论