通配符 DNS 是指在 DNS 记录的主机名中使用星号 (*),将任意子域名通过一条记录统一指向同一 IP 地址或域名的配置方式。设置"*.example.com"后,abc.example.com、xyz.example.com、anything.example.com 等所有子域名都会指向同一台服务器。
通配符 DNS 的配置方式为"*.example.com A 192.0.2.1",只需在主机名部分指定星号即可。如果某个子域名已有明确的独立记录,则优先使用该记录 (通配符作为兜底机制)。匹配规则还有一些细节:即使剩余标签不止一个,通配符同样匹配,但当查询名与通配符父域之间存在其他名称时则不生效。foo.bar.example.com 可以匹配 *.example.com,而一旦 bar.example.com 存在任何记录,该匹配便不再成立,需要另行准备 *.bar.example.com。
短链接服务中通配符 DNS 的应用场景之一是为每位用户提供自定义子域名。例如"user1.short.example.com""user2.short.example.com",使用通配符 DNS 即可免去逐一配置的工作。服务器端通过解析请求的主机名来识别用户身份。
SaaS 平台也广泛使用通配符 DNS。在为每位客户分配子域名的服务中,租户增加时无需在 DNS 侧追加记录,因此这种方式成为常见选择。当子域名达到数千量级后,逐条签发与删除记录在运维上已不现实。
通配符 DNS 的注意事项:由于会接受所有子域名的访问请求 (包括不存在的子域名),服务器端必须进行适当的验证。对于不存在的子域名访问,需要返回合适的错误页面。此外,结合通配符 SSL 证书 (*.example.com) 可以为所有子域名启用 HTTPS。