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

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

更新日期：2026-09-16

规范地址：https://stock.iftalking.com/guides/dns/

## 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.com | A | @ | VPS 的 IPv4 |
| stock.example.com | A | stock | VPS 的 IPv4 |
| www.example.com | CNAME | www | example.com |
| 已配置 IPv6 的子域名 | AAAA | stock | VPS 的 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 配置](https://stock.iftalking.com/guides/https-certificates/)处理。不要用跳过证书验证作为上线验收方式。

最终分别用电脑和手机打开完整网址，确认首页、文章和静态图片都正常。变更 IP 时继续参考[迁移后的检查](https://stock.iftalking.com/guides/after-migration/)。


## 完成后检查

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

## 参考资料

- [developers.cloudflare.com · 项目文档](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/)
