浏览器报错先于网站响应时,不宜直接归因于 Nginx
访问一个域名通常需要先获得对应的网络地址,再建立连接并请求页面。域名无法解析时,请求可能尚未到达网站服务器,此时去调整文章目录、首页文件或 Nginx 的错误页面,往往不能解决根因。
应把浏览器错误与 HTTP 状态码区分开。域名解析失败、连接超时和证书校验失败,与网站返回的 404 不是同一种结果。记录完整错误信息和正在使用的地址,比只描述“打不开”更有助于远程排查。
同一个域名,需要比较多条解析路径
DNS 结果可能被浏览器、操作系统或递归解析服务缓存。修改记录后,不同解析路径在同一时刻得到不同答案,并不罕见。但仅凭结果不同,也不能立即断言一定是缓存,应继续核对记录是否一致、查询是否经过代理以及网络是否允许相应的 DNS 请求。
一个实用顺序是先记录本机正在使用的 DNS,再查询两个可用的公共解析服务,最后检查权威记录。主域名与 www 子域名应分别测试,IPv4 的 A 记录和 IPv6 的 AAAA 记录也应与实际服务器能力相符。不要配置无法提供网站服务的 IPv6 地址。
指定 IP 测试有用,但要明确它绕过了什么
诊断时可以在保留域名和 HTTPS 主机名校验的同时,把请求临时指向某个 IP。这有助于判断目标服务器和证书是否正常,但它绕过了常规 DNS 查询。因此,“指定 IP 返回 200”只能证明该目标上的站点可用,不能证明普通访客已经能够通过域名访问。
完成服务器测试后,还应使用不指定 IP 的正式网址再次验证。有条件时,再从移动网络或另一条宽带检查。把服务器结果和解析结果分开记录,能避免把局部成功误认为网站已经全面可用。
阅读后的检查清单
- 记录浏览器原始报错,而不是只记录“打不开”。
- 分别测试主域名、www、A 记录和实际使用的 AAAA 记录。
- 指定 IP 测试通过后,再验证普通域名访问。
资料来源
本文为公开资料整理与技术解读,不构成现场新闻报道。配置与步骤以所使用软件版本的官方文档为准。