BWH Compass

域名解析到 VPS:A、AAAA 与生效检查

域名注册商负责持有域名,权威 DNS 服务负责回答解析。先确认域名实际使用哪组名称服务器,才能在正确的地方修改记录。

BWH Compass 编辑整理更新于 约 5 分钟阅读

1. 域名在哪里买,与在哪里修改 DNS 是两回事#

先查询域名正在使用的 NS。域名在 Namecheap 注册,但 NS 指向 Cloudflare 时,应去 Cloudflare 修改记录;在注册商的非权威 DNS 面板加记录不会生效。

bash
dig +short NS example.com

本文用 example.com 和文档示例地址 203.0.113.10 演示,实际操作请换成自己的域名和 VPS 公网 IP。添加一个子域名通常不需要修改整个域名的 NS,也不用影响邮箱记录。

2. 先设计要访问的地址#

想要的访问地址类型主机名/名称
example.comA@VPS 的 IPv4
stock.example.comAstockVPS 的 IPv4
www.example.comCNAMEwwwexample.com
已配置 IPv6 的子域名AAAAstockVPS 的 IPv6

DNS 记录不填写 https://、目录或端口。stock.example.com 指向服务器之后,网站仍需在服务器上配置对应域名和 80/443 端口。若应用监听 4180,应由反向代理接入 HTTPS,而不是把 IP:4180 写进 A 记录。

3. 在当前权威 DNS 面板保存记录#

Namecheap 使用其 BasicDNS、PremiumDNS 或 FreeDNS 时,进入 Domain List,找到域名点 Manage,再打开 Advanced DNS,在 Host Records 中添加记录。Type 选 A Record,Host 填 stock,Value 填 VPS IPv4,TTL 可先用 Automatic,然后保存。

若 NS 指向 Cloudflare,打开该域名的 DNS → Records,添加 A 记录。初次排错可使用仅 DNS 的模式,先确认源站与证书;开启代理后,公开查询返回的是代理地址,这是预期行为。

不要保留同一个主机名下互相冲突的 CNAME 和 A/AAAA。删除旧记录前先记下值;MX、TXT、DKIM 等邮箱相关记录与网站解析无关,不要顺手清空。

4. 核对权威结果和本地缓存#

bash
dig +short A stock.example.com
dig +short AAAA stock.example.com
dig @1.1.1.1 stock.example.com A
dig @8.8.8.8 stock.example.com A

权威 NS 已返回新值、部分递归 DNS 仍是旧值时,多半与缓存 TTL 有关。频繁来回修改会增加判断难度。NXDOMAIN 表示查询名称不存在;返回错误地址则检查主机名是否重复写成 stock.example.com.example.com,或是否改错了 DNS 提供商。

没有可用 IPv6 服务时先别添加 AAAA。浏览器可能优先尝试 IPv6,错误 AAAA 会让一部分用户打不开,即使 A 记录正确。

5. DNS 正确后,再验证网站和 HTTPS#

下面命令让 HTTPS 请求直接连接指定 IP,同时保留正确的域名和 TLS SNI,适合在 DNS 缓存切换前验证自己的源站。

bash
curl --resolve stock.example.com:443:203.0.113.10 -I https://stock.example.com/

如果返回错误网站,检查反向代理的域名匹配;连接拒绝则检查监听和防火墙;证书名称不匹配则按HTTPS 配置处理。不要用跳过证书验证作为上线验收方式。

最终分别用电脑和手机打开完整网址,确认首页、文章和静态图片都正常。变更 IP 时继续参考迁移后的检查

完成后检查

IP 直连成功、域名失败时,从 NS、A/AAAA、缓存、代理和站点域名配置依次查。

官方资料与相关入口