--- title: "13.1 域名购买与 DNS 配置" --- # 13.1 域名购买与 DNS 配置 > **本节目标**:购买一个属于你的域名,配置 DNS 解析,让用户通过自定义域名访问你的应用。 小明决定给自己的网站买个正式的域名。他打开搜索引擎,输入"免费域名"——老师傅一把拦住:"上一节刚说过,免费域名不靠谱。咱们直接买。" ## 域名购买 ### 选择注册商 | 注册商 | 优势 | |-------|------| | **Cloudflare** | 成本价续费、免费 DNS 和 CDN | | **阿里云(万网)** | 国内最大、支持 .cn 域名 | | **腾讯云(DNSPod)** | 腾讯生态、DNS 解析快 | | **Namecheap** | 价格便宜、隐私保护免费 | ### 域名怎么选 小明兴冲冲地搜了一下 `xiaoming.com`——已经被注册了。他又试了 `xiaoming-app.com`,可以买,但老师傅摇了摇头:"太长了,别人听到拼不出来。" 最后小明选了一个短的、好拼的域名。选域名没有标准答案,但有几个原则:越短越好记,别人听到能打出来,`.com` 最通用。如果 `.com` 被注册了,`.dev`、`.app`、`.io` 也不错——但要注意续费价格,有些域名首年 ¥1,续费 ¥300,买之前看清楚。 ### 域名结构 域名的层级和地址一样——"中国 · 北京 · 朝阳区"从大到小,`com · myapp · blog` 从右到左也是从大到小: ``` https://blog.myapp.com │ │ │ │ │ │ │ └── 顶级域名 (TLD): .com / .cn / .dev │ │ └────── 二级域名 (SLD): myapp(你购买的部分) │ └───────────── 子域名: blog(你自己配的) └──────────────────── 协议: https ``` 你购买的是 `myapp.com`(二级域名 + 顶级域名)。子域名可以无限创建:`blog.myapp.com`、`api.myapp.com`、`admin.myapp.com`——不需要额外花钱。 ### 购买流程 1. 注册腾讯云账号 2. 进入 [域名注册](https://cloud.tencent.com/product/domain) 3. 搜索你想要的域名 4. 选择年限(建议先买 1 年),完成支付 ![image-20260302021706102](/images/Advanced/image-20260302021706102.png) ::: tip 国内域名注册 如果你需要 `.cn` 域名或计划备案,推荐选择国内平台注册。流程类似:搜索域名 → 加入购物车 → 实名认证 → 支付。 ::: ## DNS 解析配置 域名买到了,但浏览器还不认识它——你需要告诉 DNS"这个域名指向哪里"。 ### DNS 是什么 DNS 就像手机通讯录。你搜"妈妈",手机帮你拨 138xxxx。浏览器搜 `myapp.com`,DNS 帮你找到服务器地址。没有 DNS,你就得记住每个网站的 IP 地址——就像没有通讯录,你得背下所有人的电话号码。 ### 两种常用记录 | 记录类型 | 指向 | 使用场景 | |---------|------|---------| | **A 记录** | IP 地址(如 `1.2.3.4`) | 指向云服务器 | | **CNAME 记录** | 另一个域名(如 `xxx.edgeonepages.com`) | 指向部署平台 | A 记录是直拨号码——通讯录里直接存了电话号码,拨过去就到。**云服务器用 A 记录**,因为你有固定的公网 IP。 CNAME 是呼叫转移——通讯录里存的是另一个人的名字,先查到那个人的号码再拨。**Serverless 部署用 CNAME**,因为平台的 IP 可能会变,但域名不会变。平台换了服务器 IP?没关系,转接号码没变,你的域名照样能用。 ### 配置步骤(以绑定 EdgeOne Pages 为例) 小明买好了域名,现在要把它和 EdgeOne Pages 连起来。 **第一步:在部署平台添加自定义域名** 进入 EdgeOne Pages 项目设置 → 自定义域名 → 输入你的域名(如 `myapp.com`)。 平台会告诉你需要添加的 DNS 记录,通常是一条 CNAME 记录。(有时候也会让你添加 TXT 记录,认真按照要求填写即可) ![image-20260302021734337](/images/Advanced/image-20260302021734337.png) **第二步:在域名注册商添加 DNS 记录** 去你的域名注册商(Cloudflare / 阿里云 / 腾讯云)的 DNS 管理页面,下面界面为阿里云DNS解析的添加示例: - **类型**:CNAME - **名称**:`@`(代表根域名)或 `www`,或者别的自定义前缀。 - **目标**:平台给你的 CNAME 值 - **TTL**:自动 ![image-20260302021925134](/images/Advanced/image-20260302021925134.png) **第三步:等待生效** DNS 解析需要传播时间,通常几分钟到几小时不等。 TTL(Time To Live)就像通讯录的缓存。你改了妈妈的手机号,但手机还记着旧号码,要等缓存过期才会用新号码。DNS 也一样——你改了解析记录,全球的 DNS 服务器需要时间同步。大多数情况下几分钟就好,偶尔需要等几小时。 你可以用以下方式验证解析是否生效: ```bash # 在终端检查 DNS 是否生效 nslookup myapp.com # 或 ping myapp.com ``` 看到返回了正确的 IP 或 CNAME 目标,说明解析成功。也可以告诉 Claude Code 帮你验证:"帮我检查 myapp.com 的 DNS 解析是否生效了。" ## HTTPS:给你的网站加把锁 ![image-20260302022236403](/images/Advanced/image-20260302022236403.png) HTTP 是明信片,路上谁都能看;HTTPS 是密封信,只有收件人能打开。浏览器地址栏的小锁就是"密封信"的标志——它意味着用户和你的网站之间的数据传输是加密的,不会被中间人窃听。 现代部署平台都支持免费的 HTTPS 证书(通常由 Let's Encrypt 这个免费证书签发服务自动签发),但申请方式略有不同: - **Vercel / Cloudflare Pages**:绑定自定义域名后自动申请,全自动,不需要你操心 - **EdgeOne Pages**:需要你在域名管理页面手动点击"申请免费证书"。证书申请成功后会自动续期,不用担心过期 ![image-20260302022300776](/images/Advanced/image-20260302022300776.png) ![image-20260302022312982](/images/Advanced/image-20260302022312982.png) ![image-20260302022322990](/images/Advanced/image-20260302022322990.png) 如果绑定域名后没有看到小锁,等 5-15 分钟再刷新。证书签发需要一点时间。 ## 用 AI 辅助配置 整个流程中,如果你在某一步卡住了——比如不确定 CNAME 值填什么、不确定 DNS 记录有没有生效——直接告诉 Claude Code 你的情况。它可以帮你检查 DNS 配置、排查解析问题、确认证书状态。 本教程附带阿里云 MCP 配置指南。配置好后,Claude Code 可以通过 MCP 工具直接操作阿里云 DNS API,帮你完成解析配置。 ## 常见问题 **Q:添加 CNAME 后还是访问不了?** DNS 传播需要时间。等 10-30 分钟再试。如果超过 24 小时还不行,检查记录是否填写正确。 **Q:根域名(myapp.com)能用 CNAME 吗?** 严格来说不行(DNS 规范限制),但 Cloudflare 等平台会在背后自动把 CNAME 转换成 IP 地址返回,绕过了这个限制,效果一样。如果你的注册商不支持,就用 `www.myapp.com` 作为主域名。 **Q:www 和不带 www 怎么统一?** 添加两条记录:`@` 和 `www` 都指向部署平台。然后在平台设置里配置重定向,把其中一个跳转到另一个。 --- ::: info 下一步 域名配好了,HTTPS 也生效了。如果你的项目面向国内用户,需要了解备案和合规问题,继续看 [13.2 备案与访问问题排查](./02-compliance-access.md)。 :::