首页 / 知识库 / 系统架构体系 / 项目到底如何部署

19 - 域名与 DNS 配置

前后端都上线了,但现在的访问地址是一串又长又丑的云平台地址。我们需要一个好记的网址——域名。这一章讲清域名是什么、DNS 怎么把域名变成访问、以及国内备案这件事。

域名是什么

域名:就是网站好记的名字,比如 baidu.comyourapp.com

而服务器/服务真正的地址其实是一串 IP 地址(如 123.45.67.89)或一段云平台域名。IP 又长又难记,所以我们用域名来代替。

类比:IP 是”电话号码”,域名是”通讯录里的联系人名字”。你记名字(域名),系统帮你翻成号码(IP)。

DNS:把域名翻译成地址

DNS(Domain Name System,域名系统):负责把域名翻译成真正地址的”通讯录 / 电话簿”。

用户在浏览器输入 yourapp.com,背后发生:

  1. 浏览器问 DNS:yourapp.com 到底在哪?
  2. DNS 查到你配置的记录,返回真正的地址(IP 或 CDN 地址)
  3. 浏览器再去那个地址取内容

[配图:用户输入域名 → DNS 电话簿查询 → 返回真实地址 → 浏览器连过去]

两种最常用的解析记录:A 记录 和 CNAME

在域名服务商(阿里云、腾讯云的域名控制台)里配”解析记录”,最常用两种:

记录类型作用什么时候用
A 记录域名 → 直接指向一个 IP 地址你有固定 IP(比如传统服务器)
CNAME域名 → 指向另一个域名指向 CDN、Serverless 给的域名(它们的 IP 会变)

在我们这套现代方案里,几乎都用 CNAME

  • 前端:www.yourapp.comCNAME 指向 CDN 给的地址(回顾第 11 章)
  • 后端:api.yourapp.comCNAME 指向 Serverless 服务给的地址

为什么用 CNAME 而不是 A 记录?因为 CDN 和 Serverless 背后的 IP 是动态变化的(自动伸缩、多节点),你不能写死某个 IP,只能指向它们给你的”域名”,让它们自己管背后的 IP。

子域名:一个域名拆多个用途

买一个域名 yourapp.com,可以拆出很多子域名分别用:

  • www.yourapp.com → 前端网站
  • api.yourapp.com → 后端 API
  • img.yourapp.com → 图片 CDN

每个子域名配一条自己的解析记录,指向各自的服务。(前后端怎么协作见第 21 章)

国内绕不开的一步:备案

这是国内部署特有的,务必知道:

在中国大陆的服务器 / CDN 上,用域名对外提供网站服务,域名必须先完成 ICP 备案。 没备案,域名访问会被拦截。

  • 备案在你使用的云厂商(阿里云/腾讯云)平台上申请,提交主体信息、材料,等待审核
  • 周期通常几天到两三周,建议尽早办,别等上线才发现卡在备案
  • 如果用香港/海外节点,则不需要大陆备案(但国内访问速度、合规另说)

配置流程小结(现代方案)

  1. 在域名服务商买域名
  2. 完成 ICP 备案(国内必需)
  3. 配解析记录:
    • www → CNAME → CDN 地址(前端)
    • api → CNAME → Serverless 地址(后端)
  4. 等待 DNS 生效(通常几分钟到几小时)

小结

  • 域名:网站好记的名字;DNS:把域名翻译成真实地址的电话簿。
  • A 记录指向固定 IP,CNAME 指向另一个域名;现代方案(CDN、Serverless)几乎都用 CNAME
  • 子域名把前端、后端、图片等分开(www / api / img)。
  • 国内部署:域名必须先 ICP 备案,尽早办。

域名配好了,但还差最后一步安全——HTTPS。下一章讲它是什么、现代方案里怎么一键搞定。


下一章 → 20 - HTTPS 怎么来