网站打不开,先别急着骂主机商。你看到的报错页面,其实已经把线索写脸上了。有人显示“无法访问此网站”,有人是“连接超时”,还有人遇到“DNS_PROBE_FINISHED_NXDOMAIN”。这些提示看着像天书,但指向的问题完全不同。搞清是哪一环断了,比反复刷新有用得多。
先确认一件事:是只有你打不开,还是所有人都打不开。用手机流量访问一次,再让外地朋友帮忙点一下,或者用站长工具里的网站测速和Ping检测。如果别人能打开,问题基本在你本地网络、DNS或者浏览器。如果全国多个节点都红成一片,那就要往服务器和域名那边查。
本地网络的问题很常见。路由器连着WiFi,但DNS服务器抽风,域名解析不出来。这时候可以试试切换手机热点,如果热点能打开,说明原网络有问题。Windows上可以按Win+R输入cmd,敲ipconfig /flushdns清一下DNS缓存。Mac用户用sudo dscacheutil -flushcache。再把DNS改成114.114.114.114或者8.8.8.8,很多时候能立刻恢复。还有个小坑是代理软件和VPN,关掉之后浏览器可能还在走代理,检查系统代理设置和浏览器插件。
域名和DNS是另一个高发区。域名忘了续费,注册商会直接暂停解析,网站瞬间消失。去whois查一下到期时间,过期了赶紧续费。如果域名没过期,用nslookup或dig看看解析结果。正常应该返回你服务器的IP。如果返回的是127.0.0.1或者乱七八糟的IP,可能是DNS被劫持,或者解析记录被人改了。国内服务器还要注意备案,未备案的域名走80和443端口会被运营商拦截,表现就是连接重置或超时。
服务器本身出问题,报错会更有指向性。ping一下服务器IP,如果完全ping不通,可能是服务器关机、网络故障,或者防火墙禁了ICMP。能ping通但网站打不开,用telnet测试80和443端口。端口不通,多半是安全组没放行,或者服务器上的防火墙规则拦了。云服务器控制台里检查安全组,入方向要允许80和443。Web服务也得看,Nginx、Apache、IIS有没有在运行。服务器CPU跑满、内存耗尽、磁盘写满,都会让网站无法响应。登录服务器用top、free -m、df -h看一眼,心里就有数了。

程序层面的报错,浏览器会直接告诉你。502 Bad Gateway通常是后端服务挂了,比如PHP-FPM没启动,或者Java进程崩了。504是网关超时,程序处理太慢。403是权限不对,文件目录权限设置错了。404是路径找不到,伪静态规则写错。数据库连不上也会导致页面空白或报错,检查数据库服务是否运行,账号密码有没有改,连接数是不是满了。这些错误在服务器日志里都有记录,Nginx的error.log、PHP的error_log,翻一翻比猜快得多。
HTTPS打不开,先看证书。证书过期、域名不匹配、证书链不完整,浏览器都会拦截。用在线SSL检测工具查一下有效期。如果只是https有问题,http能访问,那基本就是证书的锅。重新申请或续签证书,再重启Web服务。
用了CDN和防火墙的网站,问题会多一层。CDN节点故障、缓存了错误页面、回源失败,都会让用户打不开。可以尝试直接解析源站IP,在本地hosts里绑定测试。如果源站正常,CDN不正常,就找CDN服务商。WAF误拦截也会导致你的IP被拉黑,换网络能打开就是这种情况。
浏览器本地缓存、Cookie、插件冲突,偶尔也会捣乱。用无痕模式访问,或者换Chrome、Edge、Firefox试试。清除缓存和Cookie,禁用所有插件。安全软件和hosts文件也要查,有些软件会偷偷改hosts,把域名指向错误地址。
最后给个排查顺序:换手机热点,清DNS缓存,ping域名,查端口,看服务器日志。大部分问题十分钟内能定位。自己搞不定,就把具体报错截图、ping结果、端口测试结果发给主机商或域名商。只说“网站打不开”,对方也只能让你重启试试。信息给足,解决速度会快很多。