网站提示“连接超时”别慌,5种排查方法直接上手
电脑屏幕之上, 陡然弹出ERR_CONNECTION_TIMED_OUT, 网站没有办法打开, 后台连接不上, 针对站长以及技术运维而言, 这差不多算是最为常遇到的“拦路虎”。先别着急抓狂, 依据下面5个步骤, 一步步去排查, 多数情形下10分钟之内便能够解决。
第一步:先确认问题在谁身上
打开命令行工具(CMD或终端),输入:
ping www.nifan.com
设想一下, 当能够接收到正常返回的数据之时, 那就表明网络链路是处于畅通状态的;要是呈现出“请求超时”这种情况, 那就意味着从你所处位置到目标服务器区间出现了断点。
接着再试:
telnet www.nifan.com 80
若是出现提示“无法打开连接”这种情况, 基本上能够确定这是服务器端口或者防火墙方面的问题。
第二步:检查本地网络与DNS
很多时候,问题出在自己电脑上:
于Windows系统之中, 施行一种操作, 即运行ipconfig /flushdns此举以达刷新DNS缓存之目的 , 于Mac系统里, 要进行该操作, 也就是运行sudo killall -HUP mDNSResponder来实现刷新DNS缓存。
更改公共DNS, 把网卡DNS设置成8.8.8.8, 或者设置成114.114.114.114。
检查代理设置:关闭虚拟专用网络或代理软件,看能否正常访问
凭据Google官方文档, 80%以上的ERR_CONNECTION_TIMED_OUT错误跟本地DNS或者代理配置存在关联, 是这样的情况。
第三步:排查服务器端口与防火墙
如果是自己管理的服务器,登录后台检查:
运用netstat -an这个命令, 通过管道符将其输出传递给grep, 利用grep去查找端口号, 以此来查看端口是不是处于LISTEN状态。
进行安全组以及防火墙规则的检查, 查看对于相应端口, 也就是平常常见的80以及443端口, 有没有给予放行。
如欲查看服务器负载, 可使用top或htop命令, 当CPU占用超过90%时, 服务有可能拒绝新连接, 当内存占用超过90%时, 服务很可能拒绝新连接。
第四步:检查CDN与反向代理
如果你使用了CDN服务,可能是节点故障。可以:
直接通过IP访问服务器(绕过CDN)
检查CDN控制台的节点状态报告
清空CDN缓存后重试
依据权威市场研究机构Gartner所给出的报告, 全球大概有15%的网站访问失败的案例, 最终是被追根溯源到CDN边缘节点响应延迟的情况。
第五步:抓包分析
要是上面所提及的那些方法全部都不产生效果, 那就采用Wireshark , 抓取TCP握手包, 或者采用Fiddler, 抓取TCP握手包。
查看是否三次握手未完成
是否有RST重置包频繁出现
分析TTL值判断是不是中间路由丢包
tcpdump -i eth0 host 目标IP and tcp port 80
这个指令可以在Linux服务器上实时监控数据包流向。
全链路, 从本地到服务器, 以上排查方法将其覆盖。实际操作时, 若你遇到其他报错, 或者需要更完整的代码调试工具包, 可访问:
否玩代码编辑 https://www.fouwan.com


