局域网无法访问网站的排查记录与解决方案

2025.6.9 奇思妙想 1510
33BLOG智能摘要
博客在外网和手机5G下可正常访问,但在局域网中却无法打开,浏览器报“连接被重置”。作者首先排查DNS问题未果,随后发现原因是防火墙规则未放行IPv6的443和888端口。添加IPv6配置后局域网访问立即恢复。此外,若网站使用Cloudflare且非标准端口,也可能因SNI错误导致访问失败。文章总结指出,局域网无法访问通常与IPv6配置及服务端未准备相关,并提供排查顺序:检查DNS→CDN代理→Nginx及防火墙→IPv6连接状态。
— 此摘要由33BLOG基于AI分析文章内容生成,仅供参考。

局域网无法访问网站的排查记录与解决方案 奇思妙想-第1张

最近遇到一个让我有点头大的问题:我自己的博客在外网打开一切正常,用手机 5G 也没问题,但是家里或公司局域网下,死活打不开,浏览器要么转圈,要么直接报“连接被重置”。

当时我第一反应是 DNS 问题,毕竟公网能打开而局域网不行,多半是本地缓存或者解析走了奇怪的路径。结果我 flushdns、换 8.8.8.8、清除浏览器缓存,全都没用。我甚至还重启了光猫+路由器,还是一样。

这时候我想到了是不是宝塔的防火墙规则在作怪。于是我登录服务器后台(我用的是腾讯云轻量),打开了宝塔面板,果然防火墙规则里只放行了 443 和 888(我 Nginx 设置的端口),但没有把 IPv6 的访问也放行。

你别说,我把 IPv6 相关端口补上以后,局域网立刻能访问了。之前路由器开启了内网 IPv6 自动配置,结果 DNS 解析其实已经走了 AAAA 记录,但服务器防火墙没放,导致访问失败。

顺带说一句,如果你的网站用了 Cloudflare 代理,而你服务器端口不是标准 443,也可能会导致局域网访问失败——我自己试过一次,Cloudflare 的 HTTPS 请求过来因为 SNI 错误直接被 Nginx 拒绝了。

还有一点别忽略了:局域网下很多时候用的是 IPv6 访问,尤其是 Windows 默认双栈 DNS 优先 AAAA。所以如果你的网站没开 IPv6,就别解析 AAAA;如果开了,就别忘了服务器上 Nginx 配置加上:


listen [::]:443 ssl http2;
  

总结下来吧,我这次踩坑的核心教训就是 ——“局域网无法访问”不一定是你的网络出问题了,很可能是你 DNS 指到了 IPv6,而你服务端根本没准备好接 IPv6 请求。

所以如果你也遇到类似问题,不妨试试我这套排查路线:看 DNS → 看是否代理了 CDN → 检查 Nginx 和防火墙 → 对照一下 IPv6 的实际连接状态。

排查问题的过程,其实就是一步步拆盲盒,别急着重装系统或砸路由器,多半是你哪一步配置没细看。

评论