返回学院
BUILD从 0 到 1

域名、DNS、SSL、部署是什么关系?上线时别把四件事混在一起

域名是名字,DNS 决定名字指向哪里,部署平台真正运行代码,TLS/SSL 负责 HTTPS 身份和加密。四层任何一层错了,用户都可能只看到“网站打不开”。

第一次上线网站时,最容易把“域名接好了”理解成“网站已经部署好了”。其实用户在浏览器输入一个网址以后,中间至少经过四层:域名、DNS、部署服务和 HTTPS 证书。

把它们拆开,排错会简单很多。

域名:你买的是一个可管理的名字

例如 example.com。注册商负责登记你对这个名字的使用权和管理入口,但注册商并不会自动运行你的代码。

域名到期、注册信息或 Nameserver 配置属于这一层。

DNS:告诉全世界这个名字应该去哪里

DNS 可以理解成互联网的名称解析系统。A 记录把域名指向 IPv4 地址,AAAA 指向 IPv6,CNAME 常用来把一个名字别名到另一个主机名;不同平台还会用 TXT 做域名验证。

你可以在一家注册商买域名,把 DNS 托管给 Cloudflare,再把记录指向 Vercel。这三个角色完全可以是三家公司。

所以“我在 Vercel 加了域名,但打不开”时,要先确认 DNS 是否真的指到了 Vercel 要求的位置,而不是重复部署代码。

部署:代码到底在哪里运行

Vercel、Cloudflare Pages、自建服务器等负责真正托管构建产物或运行应用。

以 Vercel 为例,项目部署以后会先有平台域名。绑定自定义域名只是给这份部署增加一个新的访问入口。Vercel 官方流程也是先把域名加入项目,再根据提示配置 DNS;如果 Nameserver 不由 Vercel 管理,就需要在外部 DNS 服务商处增加它要求的记录。

部署失败和 DNS 失败是两类问题。前者可能是构建、环境变量、运行时错误;后者通常是解析记录、传播或域名配置。

TLS/SSL:为什么浏览器愿意显示 HTTPS

HTTPS 不只是“地址栏有把锁”。证书帮助客户端验证正在连接的域名身份,并参与建立加密连接。

现代托管平台通常会在域名解析正确后自动签发和续期证书;Cloudflare 作为代理时又多了一层浏览器到 Cloudflare、Cloudflare 到源站的连接配置。

这也是为什么错误的代理或 SSL 模式可能造成重定向循环、证书错误:两端都在根据自己理解强制 HTTPS。

排错时按顺序看

第一,域名有没有过期,Nameserver 当前是谁。

第二,用 DNS 查询确认 A、CNAME、TXT 是否是预期值,而不是只看控制台“已保存”。

第三,查看部署平台的项目状态和平台预览域名是否能打开。如果平台域名也坏,先修部署。

第四,DNS 正确以后看平台是否已确认域名并签发证书。

第五,再检查 www 与裸域、HTTP 与 HTTPS 的重定向是否只有一套明确规则。

记住这张关系图就够:注册商让你拥有域名;DNS 告诉别人去哪;部署平台在那里运行网站;TLS 让这个连接以 HTTPS 安全建立。网站打不开时先判断是哪一层,再动手。

KEEP READING

继续看这个方向