网站打不开:先分清是 DNS 的问题还是证书的问题
「打不开」和「非安全链接」是两种完全不同的病。一张症状对照表,五剂对症的药,Mac 和 Windows 命令都有。
很多人一遇到网页打不开就去清 DNS 缓存,然后「好像就好了」。
问题是,「打不开」和「非安全链接」是两种完全不同的病,清 DNS 缓存对后者基本无效。这篇教你先分清,再对症。
先理解三件事
DNS 是什么。 互联网的电话簿。你输入 example.com,电脑得先去 DNS 查到对应的 IP 地址,才能连上那台服务器。
DNS 缓存是什么。 每次查 DNS 都要等几十毫秒,所以电脑会把最近查过的对应关系暂存起来,下次直接用。坏处是:网站真的换了 IP,你这边还在用旧的,就连不上了。
「非安全链接」跟 DNS 没关系。 看到「您的连接不是私密连接」「NET::ERR_CERT_AUTHORITY_INVALID」这类提示,那不是 DNS 出错,是 HTTPS 证书出错。清多少次 DNS 缓存都没用。
症状对照表
| 浏览器提示 | 真正的病灶 | 用哪剂药 |
|---|---|---|
「无法连接到此网站」DNS_PROBE_FINISHED_NXDOMAIN |
DNS 解析失败:缓存过期、DNS 服务器抽风,或域名根本不存在 | A 清 DNS 缓存 + B 换 DNS |
「连接超时」/ 一直转圈ERR_CONNECTION_TIMED_OUT |
网络可达性问题,来源可能是 DNS、中间层,也可能网站本身宕了 | A → B → D |
「您的连接不是私密连接」NET::ERR_CERT_AUTHORITY_INVALID |
SSL 证书不被信任:链路上有东西在充当「中间人」,或是自签名 / 企业内网证书 | D 排查中间层 |
证书警告 + 时间显示异常NET::ERR_CERT_DATE_INVALID |
系统时间错了,浏览器以为所有证书都过期或还没生效 | E 校准时间 |
TLS 握手失败ERR_SSL_PROTOCOL_ERROR |
浏览器和服务器谈不拢加密协议:浏览器太旧,或缓存损坏 | C 清浏览器缓存 |
| 能打开但很慢、部分元素加载失败 | DNS 把你引到了次优的 CDN 节点,或网络本身慢 | B 换 DNS |
| 公共 Wi-Fi 下大量网站突然报「非安全」 | 公共网络的强制门户在拦截 | 避免在此网络做敏感操作 |
五剂药
A. 清 DNS 缓存
适用:DNS 解析失败、网站换了 IP 你这边连不上、NXDOMAIN 报错。
macOS(两条一起执行):
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
输入开机密码,没有任何提示就是成功了。
Windows(以管理员身份运行 PowerShell 或 CMD):
ipconfig /flushdns
B. 换一个更可靠的 DNS
适用:DNS 故障反复出现;默认 DNS 慢或不稳。一次配好,长期受益。
常见的公共 DNS:
| 服务 | 地址 |
|---|---|
| Cloudflare | 1.1.1.1 |
8.8.8.8 |
|
| AliDNS | 223.5.5.5 |
| DNSPod | 119.29.29.29 |
macOS:系统设置 → 网络 → Wi-Fi → 详细信息 → DNS → 添加。
Windows:设置 → 网络和 Internet → 你的网络 → 编辑 DNS 服务器分配 → 改成手动 → 填入地址。
哪个更快取决于你的网络位置,可以都试试。
C. 清浏览器缓存与 Cookie
适用:登录状态混乱;TLS 协议错误;浏览器对某个站点「局部抽风」。
Chrome / Edge:Ctrl/Cmd + Shift + Delete → 勾选「Cookie 和其他网站数据」+「缓存的图片和文件」→ 清除。
Safari:开发 → 清空缓存(开发菜单要先在「设置 → 高级」里打开)。
快速判断:用无痕窗口打开,能进就说明是缓存的问题。
D. 排查网络链路上的中间层
适用:这是「非安全连接」提示最常见的原因之一。
原理:如果你的网络链路上有任何软件在中间转发流量,它可能会用自己的证书替换网站的真证书——浏览器当然不信任。
怎么排查(只做诊断,不改配置):
- 临时把链路上的软件关掉,看问题是否消失
- 切到手机热点,看是不是只在某个 Wi-Fi 上出现
- 换一个浏览器试
这一步是排除变量,不是解决方案。 确认是它引起的之后,具体怎么处理请查阅你所用软件自身的文档。
E. 校准系统时间(最容易被忽视)
系统时间错了,HTTPS 就全完了。 因为浏览器要拿「当前时间」去对比证书的有效期。差一分钟没事,差一天就大面积报错。
macOS:系统设置 → 通用 → 日期与时间 → 打开「自动设置日期与时间」。
Windows:设置 → 时间和语言 → 日期和时间 → 打开「自动设置时间」,然后点「立即同步」。
如果时间刚才确实是错的,校准之后那些「非安全」警告大概率会一起消失。
为什么它总是反复出现
DNS 服务器不稳定。 这是最常见的根本原因,也是唯一能一劳永逸解决的——换一个公共 DNS 就行。
系统时间漂移。 笔记本一般不会,但如果电池状态差、或者长时间关机,时间可能不准。打开自动同步,这个问题归零。
网站自己的问题。 偶发的打不开可能就是对方宕机或换了 CDN。这种情况你做什么都没用——换个浏览器试试,或者过一小时再来。
公共 Wi-Fi 的强制门户。 酒店、机场、咖啡馆的网络会拦截 HTTPS,让你点「接受不安全证书」。这是它的正常工作方式,但意味着你的流量正被它看着——别在这种网络上登敏感账号。
遇事不决的顺序
- 看清楚浏览器到底报的什么错(错误代码就在页面上)
- 判断是 DNS 还是 SSL——连不上是 DNS,警告不安全是 SSL
- 对照上面的表查处方
- 反复出现的话,看「为什么它总是反复出现」那一节
第 1 步是最多人跳过、也最不该跳过的。大部分误诊都发生在没看错误代码就开始动手的时候。