跳转到内容

Windows Web 服务器的 DNS 与主机名:先规划名字,再谈 TLS

核验于 1 分钟阅读

选 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。

常见:

  • 公网 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 A
Resolve-DnsName app.example.com -Type AAAA
Resolve-DnsName app.example.com -Server 1.1.1.1

从服务器、客户端网络、内网 resolver 各测一次。“我笔记本上正常”可能用了不同 DNS 视图。

实验室可用 hosts:

192.168.50.105 lab.local

标明这是实验捷径;它不验证公网 DNS 或证书签发。

  1. 名字解析到服务器/代理。
  2. 80/443(或 DNS-01)可达。
  3. 名字在证书 SAN 里。
  4. 代理保留 Host 并转发 X-Forwarded-Proto。

E1。实验室用 lab.local/hosts 做 IIS;没有配公网 DNS 或 split-horizon。生产前用真实 DNS 验证。

来源