通配符泛解析本身不提供保护功能,仅使未配置的二级子域名指向指定IP;真正的子域名保护依赖DNS配置、Web层访问控制和通配符HTTPS证书三者协同,并需通过日志监控与WAF等手段防范滥用。

通配符泛解析本身不提供“保护”功能,它只是让所有未明确配置的二级子域名自动指向指定 IP。所谓“保护子域名”,实际是指防止未授权子域名被恶意利用或意外暴露服务。关键不在 DNS 本身,而在于配置逻辑、访问控制和证书覆盖三者的配合。
DNS 层:正确添加泛解析记录
泛解析必须在域名服务商处设置,不是在宝塔或服务器上操作。
- 登录阿里云、腾讯云或 Cloudflare 等平台的 DNS 控制台
- 为你的主域名(如 example.com)添加一条 A 记录:主机名填 *,记录值填你的服务器公网 IP
- 类型选 A(IPv4)或 AAAA(IPv6),TTL 可设为默认(如 600 秒)
- 不要同时添加多条 * 记录,避免冲突;也不要在主机名写 www.* 或 *.www —— 这些无效
Web 层:限制泛域名的实际响应范围
DNS 把请求送到了服务器,但 Web 服务(Nginx/Apache)决定是否真正响应。这才是“保护”的第一道关卡。
- 在宝塔中添加站点时,域名栏填写 *.example.com,但建议同时包含 example.com(即写成
*.example.com,example.com) - 进入该站点的「配置文件」,确认
server_name行包含*.example.com example.com,且没有其他重复或冲突的server_name - 若只想让特定子域名生效(比如只允许 api、admin 开头的),就不要用泛解析,改用混合泛解析(如
api*.example.com)或逐条配置 - 对不需要对外服务的子域名(如 test、dev、staging),应在 Web 配置中返回 444(Nginx)或 403,或直接不绑定对应站点
HTTPS 层:用通配符证书覆盖所有合法子域名
没有证书的子域名在浏览器会触发不安全警告,容易被识别为异常入口,也影响 SEO 和可信度。
- 申请 Let’s Encrypt 通配符证书时,必须同时包含 example.com 和 *.example.com(逗号分隔,无空格)
- 验证方式只能是 DNS-01,需提前在宝塔「面板设置 → SSL → DNS API 配置」中填好阿里云/Cloudflare 等密钥
- 证书生效后,所有匹配的二级子域名(如 a.example.com、shop.example.com)都会获得有效 HTTPS,但三级子域名(如 a.b.example.com)不会被覆盖
- 不建议给泛解析站点默认启用 HTTP 自动跳转 HTTPS,除非你已确保证书涵盖所有可能被访问的子域
安全加固:防止泛解析被滥用
攻击者可能通过扫描大量子域名(如 admin.example.com、backup.example.com)探测潜在入口。主动收敛比被动防御更有效。
- 关闭 Web 服务器对未定义
Host头的默认响应:Nginx 中可设一个空server块,返回 444 或 443 重定向到错误页 - 在宝塔「网站」列表里,只保留真实需要的站点;删除测试用、废弃的泛域名站点,避免配置残留
- 定期检查访问日志,筛选出高频但无业务意义的子域名请求(如 abc123.example.com),加入 WAF 黑名单或 Nginx 拒绝规则
- 若使用 CDN(如 Cloudflare),可在其防火墙规则中设置:当 HTTP Host 不匹配白名单时,直接阻断或挑战


















