十分钟,是最常听到的答案。

域名解析后多久可以打开网站链接?按时间拆成四段,每段只看一样东西。

改完解析的头一分钟

这一分钟里,能变的只有你自己的那份缓存。

先在本机查一次:dig 你的域名 A +short。它只问本机配的那台 dns。

还是旧 IP:先清系统 dns 缓存,或者换一台机器查。

换成新 IP:说明你这边的记录已经换过来了。

这一步只代表一台机器。别拿它当整个网络的结论。

旧记录还没过期的那几个小时

各地的递归服务器手上都存着一份,各存各的,没有谁通知谁。

你改了记录,它们并不知道,要等自己那份过期才来重问。

做法:在三个省各查一次,比对返回的 IP 是不是同一批。差一台就写下来。

有一台还在返回旧 IP,说明它那份还没过期。多个地区一起查,一眼看得出还剩几个地方在老记录上。

这时候页面打不开,是正常的。不是配错了,是还没轮到你这台。

解析对上了,握手那几秒

<figure><img src="https://image.bt.cn/20261110/1e5edfccf6603f536affc7c3274bc73e.svg" alt="从改完解析到页面打开的四段时间:前两段只能等,后两段才该动手查" loading="lazy" width="1200" /><figcaption>从改完解析到页面打开,中间有一条分界:IP 对上之前只能等,对上之后才该查握手和回源。</figcaption></figure>

IP 对了,才开始连接和握手。这一步跟你改的记录已经没关系了。

这一段只有几秒,卡住却最常见,也最容易被误当成还没生效。要分清是只有你卡还是全网都卡,跑一轮宝塔拨测的网站测速,看各地是不是都拿不到状态码。

看一条命令:

`` curl -o /dev/null -s -w 'dns=%{time_namelookup} conn=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer}\n' https://你的域名 ``

dns 有数、conn 有数、tls 是 0:连接通了,握手没谈成。这条只对 https 目标成立。

再回过身看证书有没有过期、域名对不对得上。

再看 443 端口放不放行。两样都过,握手就该成。

请求到源站之后

握手谈成了,请求才到站点这一侧。

这一段特征是:浏览器转很久,最后才出内容。

看 ttfb 减 tls 这个数。这是唯一能说明后端快慢的数。

它大,就是在等后端。这一段跟网络没关系。改解析也帮不上。

前面有 cdn 的时候,用户看到的是缓存,回源通不通要另看:清一次缓存再试,或者直接请求源站地址。

缓存清了还是旧的,问题在缓存没刷掉,不在源站那边。这一步别跳过。

有一个点我还没确认:同一个域名,有的递归服务器返回的 IP 落在不同网段,这算正常调度还是配了多条记录,我只能靠多查几台来分辨。