跳转到内容

绑定自己的域名

前提:服务已经跑通,手里也已经有完整域名。

还没有域名:先去 先准备一个域名。拿到完整域名后,再回来继续。

想先把 DNS 托管到 Cloudflare:先去 将域名托管到 Cloudflare(可选)。这一步不是必须;不托管也可以直接绑定。

接下来只记住这一条:先在平台后台把域名加进去,再回当前 DNS 提供商补它要求的记录。如果你的 DNS 已经托管到 Cloudflare,就回 Cloudflare 的 DNS Records 页面填;没托管,就回域名商自己的 DNS 页面填。

Vercel:先在项目里加域名,再回当前 DNS 提供商补记录

Section titled “Vercel:先在项目里加域名,再回当前 DNS 提供商补记录”

如果这条线前面还没跑通,先回:

第 1 步:先把域名加到 Vercel 项目里

Section titled “第 1 步:先把域名加到 Vercel 项目里”
ProjectSettingsDomainsAdd Domain
  1. 输入你要绑定的域名,例如 example.com
  2. 如果还要绑 www.example.com,就再加一次,不要把两个地址写在同一个输入框里
  3. 保存后不要立刻关页面,后面要照着它给出的 DNS 提示继续填
社区教程作者在 Vercel Domains 页面添加自定义域名的真实截图
先把域名加到 Vercel。后面到底是补一条 A,还是补 TXT + CNAME,都以你自己当前页面显示的内容为准。

第 2 步:回当前 DNS 提供商,按 Vercel 当前页面显示的记录去填

Section titled “第 2 步:回当前 DNS 提供商,按 Vercel 当前页面显示的记录去填”

这一步只看你自己当前的 Vercel 页面:

  • 如果它显示一条 A 记录,就建一条 A
  • 如果它显示 TXT + CNAME,就分两条建,不要合成一条
  • 如果你的 DNS 在 Cloudflare,先用 DNS only,别一上来开橙云
社区教程里 Vercel 提示根域名使用 A 记录的真实截图
这是一种常见情况:Vercel 直接给出一条 A 记录。你看到这种页面,就按这一种走。
社区教程里 Vercel 提示 TXT 和 CNAME 两条记录的真实截图
另一种常见情况是 TXT + CNAME。如果你看到的是这一种,就必须拆成两条记录分别建。

第 3 步:如果你的 DNS 在 Cloudflare,就先按灰云状态填

Section titled “第 3 步:如果你的 DNS 在 Cloudflare,就先按灰云状态填”
Vercel 社区用户在 Cloudflare Records 页面中使用 DNS only 的真实截图
这张是社区用户自己的 Cloudflare Records 页面截图。Vercel 这条线如果走 Cloudflare,先按 DNS only 灰云配,等 Vercel 验证正常后再决定要不要改别的设置。

第 4 步:回 Vercel 等状态正常,再测试

Section titled “第 4 步:回 Vercel 等状态正常,再测试”
DEV 社区教程里 Vercel 域名配置生效后的真实截图
回到 Vercel,等它显示配置已经正常,再继续用自己的域名测试接口。

Netlify:先加域名,再按 Domain management 提示去补 DNS

Section titled “Netlify:先加域名,再按 Domain management 提示去补 DNS”

如果这条线前面还没跑通,先回:

第 1 步:先进入站点的 Domain management

Section titled “第 1 步:先进入站点的 Domain management”
社区教程作者的 Netlify Site overview 真实截图
先点进你自己的站点,别停在 team 总览。域名这条线从站点里继续走。
社区教程作者的 Netlify Domain management 真实截图
进入 Site configuration 里的 Domain management。后面的添加域名和查看记录提示,都在这里。

第 2 步:先把自己的域名加进去

Section titled “第 2 步:先把自己的域名加进去”
  1. Add domain alias 或同类入口
  2. 一次只填一个域名
  3. 保存后留在当前页面,继续看 Netlify 提示你补什么记录
社区教程作者在 Netlify 添加域名别名的真实截图
先把要绑定的域名加进去。这里的动作只有一件事:把域名正确交给 Netlify 管。

第 3 步:看到 Awaiting external DNS 后,再去改 DNS

Section titled “第 3 步:看到 Awaiting external DNS 后,再去改 DNS”
社区教程作者在 Netlify 中看到 Awaiting external DNS 状态的真实截图
看到 Awaiting External DNS,就说明下一步该去当前 DNS 提供商补记录了。这里不要自己猜,直接照 Netlify 当前页面显示的记录继续填。

第 4 步:回当前 DNS 提供商,把 Netlify 当前页面要求的记录补进去

Section titled “第 4 步:回当前 DNS 提供商,把 Netlify 当前页面要求的记录补进去”

这一步只有一个原则:

  • Netlify 当前页面让你填什么,就填什么
  • 如果你的 DNS 在 Cloudflare,先用 DNS only
  • 如果你的 DNS 不在 Cloudflare,就在域名商自己的 DNS Records 页面填同样的记录
社区教程作者在 Cloudflare 中给 Netlify 站点补 DNS 记录的真实截图
这张是社区教程作者在 Cloudflare 里给 Netlify 补 DNS 记录的真实截图。你如果用的是别的 DNS 提供商,就在它自己的 DNS 页面填同样的记录类型和记录值。

第 5 步:回 Netlify 等它验证通过,再测试

Section titled “第 5 步:回 Netlify 等它验证通过,再测试”

当 Netlify 的域名状态恢复正常后,再直接用自己的域名测试接口。 不要一边等生效,一边来回改很多次记录。

Cloudflare Workers:这页只讲 Route 方案,先把域名放进 Cloudflare,再把路由接到 Worker

Section titled “Cloudflare Workers:这页只讲 Route 方案,先把域名放进 Cloudflare,再把路由接到 Worker”

如果这条线前面还没跑通,先回:

先说明白:这一节只覆盖 Route 方案。 如果你准备走 Cloudflare 官方的 Custom Domains 另一条路线,不要直接把下面这些 nameserver、代理和 Route 步骤硬套过去。

第 1 步:如果你的域名还不在这个 Cloudflare 账号里,先把站点加进来

Section titled “第 1 步:如果你的域名还不在这个 Cloudflare 账号里,先把站点加进来”
社区教程作者在 Cloudflare 里添加站点的真实截图
先把你的完整域名加到 Cloudflare。后面的 DNS 和 Route 都建立在这个前提上。
社区教程作者在 Cloudflare 中查看 nameservers 的真实截图
Cloudflare 会给出 nameservers。如果你的域名原来不在 Cloudflare,就把这里的 nameservers 抄回域名商后台。

第 2 步:回域名商后台改 nameservers,等域名在 Cloudflare 里生效

Section titled “第 2 步:回域名商后台改 nameservers,等域名在 Cloudflare 里生效”
社区教程作者在域名注册商后台修改 Cloudflare nameservers 的真实截图
域名原来不在 Cloudflare 的话,这一步必须做。改完后回 Cloudflare 等状态正常,再继续后面的 DNS 和 Route。

第 3 步:先在 Cloudflare DNS 里把你要绑定的主机名建出来,而且要开代理

Section titled “第 3 步:先在 Cloudflare DNS 里把你要绑定的主机名建出来,而且要开代理”
社区教程作者在 Cloudflare DNS 中为 Workers 准备主机名记录的真实截图
先把要给 Worker 用的主机名建出来,例如 api.example.com。这条线走 Route 方案时,DNS 必须先准备好,而且要保持代理开启。

第 4 步:回 Worker,给这个主机名加 Route

Section titled “第 4 步:回 Worker,给这个主机名加 Route”

路径:

Workers & Pages你的 WorkerSettingsDomains & RoutesAddRoute
社区教程作者打开 Cloudflare Workers 路由页面的真实截图
先进入 Route 列表页。这里就是把域名流量接到 Worker 的地方。
社区教程作者在 Cloudflare Workers 中填写 Route 的真实截图
Route 一般写成 你的域名/*,例如 api.example.com/*。这里的域名要和上一步 DNS 里建出来的主机名保持一致。

第 5 步:等 Route 生效,再直接用自己的域名测试

Section titled “第 5 步:等 Route 生效,再直接用自己的域名测试”

这条线最容易错的就两件事:

  • DNS 没先建好,就急着加 Route
  • Route 里填的主机名和 DNS 里的主机名不是同一个

EdgeOne Pages:先去域名管理加域名,再按提示补验证和 CNAME

Section titled “EdgeOne Pages:先去域名管理加域名,再按提示补验证和 CNAME”

如果这条线前面还没跑通,先回:

第 1 步:先进入项目概览,再打开域名管理

Section titled “第 1 步:先进入项目概览,再打开域名管理”
腾讯云开发者社区作者的 EdgeOne Pages 项目概览真实截图
先确认你已经进到正确的 EdgeOne Pages 项目里。域名这条线从项目概览继续走。
腾讯云开发者社区作者的 EdgeOne Pages 域名管理真实截图
进入域名管理后,再点 添加自定义域名。后面的验证和证书状态都在这里看。

第 2 步:输入域名,按弹窗提示准备验证记录

Section titled “第 2 步:输入域名,按弹窗提示准备验证记录”
  1. 根域名和子域名都可以,但一次只加一个
  2. 如果你的加速区域包含中国大陆,先确认域名已经完成备案要求
  3. 保存后不要关页面,下一步要照弹窗提示去补记录
腾讯云开发者社区作者的 EdgeOne Pages 域名 DNS 提示真实截图
域名加进去后,EdgeOne 会直接告诉你要补什么记录。这里不要自己猜,按当前页面提示继续做。

第 3 步:回当前 DNS 提供商,把验证记录和 CNAME 补进去

Section titled “第 3 步:回当前 DNS 提供商,把验证记录和 CNAME 补进去”
腾讯云开发者社区作者在 DNS 提供商后台填写 EdgeOne CNAME 的真实截图
回到你自己的 DNS 提供商后台,先把 EdgeOne 要求的验证记录和 CNAME 补进去。这里的记录值仍然只抄你自己当前页面显示的内容。

第 4 步:回 EdgeOne 域名管理页,等验证和证书状态正常

Section titled “第 4 步:回 EdgeOne 域名管理页,等验证和证书状态正常”
腾讯云开发者社区作者在 EdgeOne Pages 域名管理中查看验证状态的真实截图
回到域名管理页,先看验证状态。这里不要频繁改记录,先等验证和证书流程自己跑完。

第 5 步:状态正常后,再直接用自己的域名测试

Section titled “第 5 步:状态正常后,再直接用自己的域名测试”

如果你前面已经把 TOKENADMIN_TOKEN 和 EdgeOne 需要的变量配好了,现在就直接用自己的域名测试接口。

如果你保留默认 TOKEN,测试地址就是:

https://你的域名/api/v2/search/anime?keyword=凡人修仙传

如果你改了 TOKEN,测试地址就是:

https://你的域名/你的TOKEN/api/v2/search/anime?keyword=凡人修仙传

浏览器能正常返回内容,说明域名已经真正接上去了。

  • 还没把服务跑通,就先急着绑域名。
  • 加域名时一次输入了两个地址。
  • 平台后台已经给了当前记录提示,结果还是去抄别人的固定值。
  • 在 Cloudflare 里验证还没过,就先把 DNS 代理和其他设置来回改很多次。
  • Netlify / Vercel 要两条记录时,只建了一条。
  • Cloudflare Workers 走 Route 方案时,DNS 里的主机名和 Route 里的主机名不一致。
  • EdgeOne 还在验证和签发证书,就不停删除重加。
  • 测试时忘了把自定义 TOKEN 带进接口地址。

这版页面同时参考了平台当前文档与社区真实教程。配图只使用社区作者公开发布的真实后台截图:Vercel 社区与 DEV Community、yesmiracle 的 Netlify + Cloudflare 实操页、tjsky 的 Cloudflare Workers 域名实操页、腾讯云开发者社区的 EdgeOne Pages 实操页。正文优先按这些截图实际能证明的步骤来写,不用官方示意图,也不把一张图硬讲成两步。