域名绑定

一个域名,
两条记录

绑定域名要在你买域名的那家服务商后台加两条 DNS 记录。这是我们整条流程里 唯一需要你离开后台动手的一步,所以这一页把三家的界面都画出来了 —— 照着自己那家往下找,一格一格填。裸域和 www 要各绑一次,两个都绑上最省心。 还没买域名?先看 域名入门:在哪买、多少钱、NS 要不要迁。

第一步

这两条记录各管一件事

TXT

证明这个域名是你的

值是我们随机生成的一串字符,只对这个域名有效。DNS 是公开可查的 —— 这条记录存在,就说明你能改这个域名的解析,也就等于你能代表它的所有者。

没有它,任何人都能把别人的域名绑到自己站上。

CNAME

让访客真的走到你的站

把 example.com 或 www.example.com 指向我们的服务器。签证书也靠它: 我们顺着这条记录去校验,通过之后自动签发并续期,不需要你上传任何证书文件。

没有它,证书签不下来,域名绑了也打不开。

顺序无所谓,两条都要有。加完回控制台点「我已添加,开始验证」,通常一两分钟就通过。
注意:一次绑定只管一个域名 —— 绑 www.example.com 不会顺带把 example.com 也带上,那两个是两个主机名。

先做个决定

裸域和 www,要不要都绑

客户在名片上印 example.com、在邮件签名里写 www.example.com, 两种都会有人输。只绑一个的话,另一个在浏览器里就是打不开 —— 而客户自己 通常最后一个才知道。

只绑 www

少加一组记录。裸域打不开,除非你自己在 DNS 商那边把裸域 301 到 www —— 而阿里云、DNSPod 的 URL 转发不支持 HTTPS, 所以这条 301 在国内服务商上基本走不通。

两个都绑(推荐)

各绑一次,各加一组记录,指向同一个站点。两个地址都能打开, 证书各签一张、都自动续。SEO 不用你操心:canonical 与 sitemap 由平台收口到 主域名(默认优先 www),不会变成两份内容互相抢排名。

根域那一条有前提:根域只能用 CNAME 指过来,而这要求你的 DNS 服务商支持「CNAME 扁平化」。Cloudflare、Route 53 支持;阿里云、DNSPod 的云解析不支持 —— 它们的根域记录类型里根本没有 CNAME 这一项。遇到这种服务商, 就只绑 www.example.com,根域那条放弃(或者在 Cloudflare 上重新托管 DNS)。

先看这一格

「主机记录」到底填什么

这一格是整件事里唯一真正会填错的地方,而且两家的规则相反。 填错的典型症状:记录加上了、查询也有值,但验证永远是"未找到"—— 因为 DNS 里实际存的是 _icetus-verify.www.example.com.example.com。

腾讯云 / 阿里云 / 华为云 / DNSPod

只填前缀,后面半截系统自动补。填了完整域名就重复了一次。

✗www.example.com

✓www

✗@← 根域在这里选不了 CNAME,只能绑 www

Cloudflare / Route 53 / GoDaddy

填完整域名,它不会帮你补后缀。根域填 @ 或整个域名都行。

✗www

✓www.example.com

✓example.com← 根域那条填这个

记不住就记这一条:控制台里给你的是完整域名。 腾讯云 / 阿里云要把它减掉你自己的域名后缀,Cloudflare 原样粘。 CNAME 那条同理:控制台说 www,腾讯云 / 阿里云填 www, Cloudflare 填 www.example.com;控制台说 @,腾讯云 / 阿里云就填 @,Cloudflare 填 example.com。

按服务商

腾讯云 / DNSPod

  1. 登录腾讯云控制台,搜索框里输入域名解析,进 DNSPod。
  2. 在「我的域名」里点开你要绑的那个域名。
  3. 切到「记录管理」页,点「添加记录」。
  4. 按下图填第一条(TXT),点确定;再点一次「添加记录」填第二条(CNAME)。
第一条:TXT(证明域名归属)腾讯云 DNSPod · 添加记录主机记录_icetus-verify.www1记录类型TXT2线路类型默认记录值a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d63TTL600确定取消
记录值那一长串从控制台复制,整串粘,不要加引号也不要加空格。 它是 32 位十六进制,每个域名都不一样。
第二条:CNAME(让访客找到你的站)腾讯云 DNSPod · 添加记录主机记录www1记录类型CNAME2线路类型默认记录值cname.icetus.net3TTL600确定取消
记录值填 cname.icetus.net,结尾不要加句点。 如果这里原来有一条指向别处的 A 记录或 CNAME,先删掉—— 同一个主机记录不能既有 A 又有 CNAME。
想绑根域的话:DNSPod 的根域记录类型里没有 CNAME, 加不出来。只绑 www 就行,根域那张卡片先不管。

按服务商

阿里云(云解析 DNS)

  1. 登录阿里云控制台,搜索云解析 DNS。
  2. 左边选「域名解析」,找到你的域名,点右边的「解析设置」。
  3. 点「添加记录」,按下图填。
  4. 加完 TXT 再加 CNAME,两条都在同一个「解析设置」页面里。
第一条:TXT(证明域名归属)阿里云 · 解析设置 · 添加记录记录类型TXT1主机记录_icetus-verify.www2解析线路默认记录值a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d63TTL10 分钟确定取消
阿里云的主机记录同样只填前缀。它默认 TTL 是 10 分钟,够用,不用改。
第二条:CNAME(让访客找到你的站)阿里云 · 解析设置 · 添加记录记录类型CNAME1主机记录www2解析线路默认记录值cname.icetus.net3TTL10 分钟确定取消
阿里云如果提示「与已有记录冲突」,说明 www 已经有一条 A 记录或 CNAME,先把它删掉再添加。
阿里云的根域同样不支持 CNAME(只接受 A 记录), 所以根域绑不了,只绑 www。

按服务商

Cloudflare

  1. 登录 dash.cloudflare.com,点开你的域名。
  2. 左侧菜单选「DNS」 → 「Records」 → 「Add record」。
  3. Type 选完会出现对应字段。Cloudflare 的 Name 要填完整域名, 和腾讯云、阿里云正好相反。
  4. 加 CNAME 那条时,Proxy status 选 DNS only(灰色云朵) 最省事; 保留默认的橙云也能通过,差别见下方说明。
第一条:TXT(证明域名归属)Cloudflare · DNS · Add recordTypeTXT1Name_icetus-verify.www.example.com2Contenta1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d63TTLAuto确定取消
Name 这一格填完整域名 _icetus-verify.www.example.com, 它不会帮你补后缀。把 example.com 换成你自己的域名。
第二条:CNAME(让访客找到你的站)Cloudflare · DNS · Add recordTypeCNAME1Namewww.example.com2Targetcname.icetus.net3Proxy statusDNS only(灰云)4TTLAuto确定取消
Name 填完整域名。要绑根域就在这条之外再加一条一样的记录, Name 填 example.com(或 @)—— Cloudflare 会在内部把它扁平化成 CNAME,不需要你做别的。
Proxy status 用默认的橙云也行,证书照样签得下来。

橙云能用,但灰云少一层

我们早期要求这条记录必须是灰云,现在橙云也能通过: Cloudflare 在它的边缘应答证书校验,我们照样能签发。 两者的差别只在链路长短 —— 橙云时访客先经过 Cloudflare 的缓存与 WAF 再到你的站, 多一层;出问题时"是 CF 还是我们"要多查一轮。 所以想省事就选灰云,想用 Cloudflare 的 CDN 与防护就留着橙云。

按服务商

其他服务商(华为云、GoDaddy、Namecheap…)

界面各不相同,但字段永远只有这几个,按语义对号入座就行:

  • 主机记录 = Host = Name。国内几家填前缀(www、_icetus-verify.www),根域填 @; Cloudflare 这类填完整域名。
  • 记录类型 = Type = Record type。TXT 或 CNAME。
  • 记录值 = Value = Target = Content = Points to。 控制台给什么粘什么。
  • TTL 保持默认。改小不会更快,改大只是让以后调整变慢。

一个前提:记录要加在真正管这个域名解析的那一家。 域名在阿里云买、但 NS 已经指向 Cloudflare,那就要去 Cloudflare 加 —— 在阿里云加破头也不生效。不确定的话,问一下当初给你做网站的人, 或者用 nslookup -type=ns example.com 看 NS 指向谁。

最后一步

怎么知道加对了

  1. 回到控制台「域名」页,点那条域名右侧的「我已添加,开始验证」。
  2. 通过后状态会从"等待 DNS"变成「已上线」, 证书通常在十分钟内签发。这期间页面会自己刷新,不用你反复点。
  3. 想自己先查一遍也可以。打开终端,把域名换成你自己的:dig txt _icetus-verify.www.example.com +shortdig cname www.example.com +short第一条应该输出你从控制台复制的那串字符(带引号是正常的), 第二条应该输出 cname.icetus.net。
    绑了根域的话,dig cname example.com 会查不到东西, 这不是没生效 —— 支持扁平化的服务商对外只回地址,查这个:dig a example.com +short输出的是 Cloudflare 的地址(104. 或 172. 开头)就对了。

刚加完立刻查常常查不到,因为本地和运营商的 DNS 有缓存。等 1–10 分钟再试,别急着改记录 —— 改来改去反而会让缓存更乱。

加错了?

七个最常见的原因

提示「TXT 记录未找到」,但面板上明明有
九成是主机记录填重了。去查一下实际存的是什么:如果完整名是 _icetus-verify.www.example.com.example.com, 把这条删掉,主机记录改成 _icetus-verify.www 重加。
提示「TXT 值不匹配」
记录值复制时多了空格、少了字符,或者引号被当成了值的一部分。 最稳的做法是回控制台点「复制」按钮,再去服务商那边粘。
提示「CNAME 未找到」,DNS 面板里却看得到
三种可能。① 记录加在了不负责解析的那一家(域名在阿里云买、 NS 已经指向 Cloudflare,就得去 Cloudflare 加);② 主机记录填重复了,实际存成了 www.example.com.example.com;③ Cloudflare 开了橙云 —— 这种情况 CNAME 对外确实查不到,但不影响绑定, 我们认的是地址,直接点验证就能过。前两种要改记录,第三种不用管。
一直在「校验中」,十几分钟没动静
先确认证书状态是不是 pending。如果同时提示 CAA 相关错误, 说明域名的 CAA 记录不允许我们签发 —— 把 letsencrypt.org 加进 CAA 白名单,或者删掉 CAA 记录。
记录加对了,网站还是打不开
可能绑错了站点。一条域名只能指向一个站点,在「域名」页看那条记录下面 写的站点名是不是你要的那个。
想直接绑 example.com(不带 www)
可以绑,但取决于你的 DNS 服务商:根域只能用 CNAME 指过来, 而这要求服务商支持根域 CNAME(Cloudflare、Route 53 支持;阿里云、DNSPod 的根域记录类型里没有 CNAME,加不出来)。支持就在控制台把 example.com 也绑一次,主机记录填 @。不支持就只能绑 www, 再把根域 301 到 www —— 注意阿里云的 URL 转发不支持 HTTPS, 那条路在阿里云上实际走不通,通常只能把 NS 迁到 Cloudflare。
根域提示「A 记录指向的不是 Cloudflare」
说明根域上是一条 A 记录(多半指向原来的旧网站),CNAME 没生效。 支持扁平化的服务商请把那条 A 删掉、改成 CNAME @; 不支持的就别绑根域了,回到只绑 www。

还卡着?把这两条查出来的结果发给我们

在终端跑上面那两条 dig 命令,把输出截图发到 support@icetus.net,附上你的域名和绑定的站点名。有这两条结果,基本一眼就能看出卡在哪。

域名绑定 DNS 记录怎么填 — 腾讯云、阿里云、Cloudflare 图文步骤 | iCetus