Windows Web 服务器的 DNS 与主机名:先规划名字,再谈 TLS
选 A/AAAA/CNAME、内外网分离与 TTL,并在申请证书前验证名字确实解析到服务器。
测试环境Standard / Datacenter · 版本号 26100.33650 · x64
E1- 版本号
- 26100.33650
- 版本
- Standard / Datacenter
- 架构
- x64
- 支持
- 文档(E1)
- 证据
- E1官方文档
- 核验日期
- 2026-10-29
- 页面类型
- 概念
在 IIS/Nginx 或证书之前,先定:
- 每个应用用哪个主机名;
- 它是公网、内网还是两者;
- 根域(
example.com)还是子域(app.example.com); - 内网客户端由谁解析。
TLS、SNI、cookie 都依赖名字。事后改名比现在规划贵。
| 需求 | 记录 |
|---|---|
| 名字 → IPv4 | A |
| 名字 → IPv6 | AAAA |
| 别名到另一个名字 | CNAME |
| 根域 | A/AAAA(或厂商 ALIAS/ANAME) |
| 邮件 | MX(不是 Web 服务器) |
CNAME 不能和同名其他记录共存,很多厂商也不允许根域 CNAME。用 A/AAAA 或厂商 alias。
公网与内网名字
Section titled “公网与内网名字”常见:
- 公网
app.example.com→ 公网 IP/反代; - 内网
app.internal.example.com→ 私网 IP; - 或 split-horizon:同一名字内网解析私网、外网解析公网。
Split horizon 很强也容易配错。写清哪个 resolver 看到哪个答案。公网名字的证书仍需要公网验证路径(或 DNS-01)。
- 迁移期用低 TTL(300–600 秒)。
- 切换后升回去。
- 长 TTL 让回滚变慢;极低 TTL 增加查询量。
- 不要同时改 DNS 和 TLS;一次只引入一个故障源。
Resolve-DnsName app.example.com -Type AResolve-DnsName app.example.com -Type AAAAResolve-DnsName app.example.com -Server 1.1.1.1从服务器、客户端网络、内网 resolver 各测一次。“我笔记本上正常”可能用了不同 DNS 视图。
实验室可用 hosts:
192.168.50.105 lab.local标明这是实验捷径;它不验证公网 DNS 或证书签发。
- 名字解析到服务器/代理。
- 80/443(或 DNS-01)可达。
- 名字在证书 SAN 里。
- 代理保留
Host并转发X-Forwarded-Proto。
E1。实验室用 lab.local/hosts 做 IIS;没有配公网 DNS 或 split-horizon。生产前用真实 DNS 验证。