给主域名加个子域名,配完解析却打不开,这类问题九成出在 DNS 记录、缓存、Web 服务配置和证书覆盖四个环节。二级子域名(如 blog.example.com、api.example.com)本质是主域名下派生的主机名,配置链路并不复杂:加一条解析记录、服务端绑定主机名、配上证书,三步走完就该能访问。真正费时间的是出错之后不知道从哪查起,而且不少人把”二级域名”的概念用错,导致配置位置都找错了。下面先把概念口径摆正,再给一份按顺序执行的排查清单。

先分清:二级域名的两种口径
严格定义与国内建站行业的习惯叫法存在错位,两种口径都有人用,沟通前先对齐:
| 口径 | 域名后缀 | 二级域名 | 子域名示例 |
|---|---|---|---|
| 严格定义 | com | example(example.com 中的 example) | www、blog 属于三级域名 |
| 建站习惯说法 | com | example.com(整体称一级/主域名) | blog.example.com 称二级域名 |
两种说法指向的实际对象是一致的:带前缀的 blog.example.com 就是我们日常要配置的对象。理解这一点很重要,因为解析配置里”主机记录”这一栏填的是前缀(如 blog),而不是完整域名——填错这一栏是新手最常见的第一坑。另外,主域名的解析记录不会被子域名自动继承,根域的 A 记录对 blog 前缀完全不生效,每个子域名都要单独建记录,或用泛解析统一兜底。
六项排查清单,按顺序执行
子域名打不开时,从 DNS 侧向服务器侧逐层排查,多数问题在前三步就能定位。排查时建议把每一步的命令输出留存下来,跨团队协作时这些输出就是最有力的沟通材料:
- 查记录是否生效:用 nslookup blog.example.com 或 dig 命令向公共 DNS 查询,无返回说明记录未创建或未生效;
- 查缓存与 TTL:解析刚改动过时,本地与运营商 DNS 可能还缓存旧记录,最长等 24 到 48 小时,临时把本机 DNS 改成 8.8.8.8 可加速验证;
- 查记录冲突:同一主机记录不能同时存在 A 记录和 CNAME 记录,DNS 协议不允许,冲突会导致解析不稳定,删掉旧记录再重建;
- 查服务器绑定:解析对了但打开是默认页或打不开,检查 Nginx/Apache 的 server_name 是否包含该子域名,虚拟主机是否建好;
- 查端口与防火墙:云服务器安全组是否放行 80/443 端口,别把 DNS 问题和服务端问题混在一起查;
- 查证书覆盖:浏览器报证书不匹配,说明证书里没有这个子域名,需要单独签发或换泛域名证书。
# 验证解析是否生效的三条命令
nslookup blog.example.com # 快速查询
dig blog.example.com +short # 只看结果
nslookup -type=cname blog.example.com # 指定记录类型验证
命令返回的 IP 与预期一致,才能排除 DNS 侧问题,把注意力转向服务器配置。
四个高频坑与对应解法
排查清单之外,有几个坑反复出现,提前知道能省大量时间:
| 常见坑 | 典型现象 | 解法 |
|---|---|---|
| 主机记录填成完整域名 | 解析永远查不到 | 主机记录只填前缀,如 blog |
| 泛解析滥用 | 任意前缀都可解析,被恶意指向 | 生产环境慎用 * 记录,具体业务建独立记录 |
| 证书不覆盖子域名 | 浏览器提示不安全 | 用 *.example.com 泛域名证书或单独签发 |
| 与主域权重混淆 | 期望子域名内容计入主站收录 | 搜索引擎把子域名当独立站点,权重独立计算 |
泛解析要单独展开说: 记录只匹配一级前缀,.example.com 能兜住 blog.example.com,却管不到 dev.blog.example.com 这种多级结构;而且它会把所有未定义的子域名都指向同一目标,一旦被外部探测利用,容易产生大量垃圾指向。证书同样有层级——泛域名证书只覆盖同一级子域名,更深层级需要单独处理。至于权重关系,子域名在搜索引擎眼里是独立站点,想集中主站权重就用目录(example.com/blog)而不是子域名。
常见问题(FAQ)
Q1:子域名解析要多久才生效?
新增记录通常几分钟,改动后的缓存刷新可能要 24 到 48 小时,取决于 TTL 设置。
Q2:泛域名证书能覆盖所有子域名吗?
只能覆盖同一级,*.example.com 管不了 a.b.example.com 这种多级子域名。
Q3:子域名和子目录对 SEO 有什么区别?
子域名被当作独立站点收录,子目录并入主站,想集中权重选子目录。