{{< alert “circle-info”>}}
内容为随笔,未仔细查证,全是个人理解,可能不够严谨
{{< /alert >}}
1 起因
Waline评论系统用Vercel部署最简单,但是被墙了。所以用域名去绑定vercel.cdn.yt-blog.top。这个中转域名本身是个加速器,会选择访问速度最快的 Vercel 节点来返回评论系统内容。
由于我只有一个域名,所以尝试了“域名分拆”,发现原来很简单。而且好处很明显:为域名下的每个分支单独指定它的访问目标,灵活地把网站拆到不同的服务器上。
2 我的配置
图片下面还有一部分就不放出来了
sun-ong.top和www.sun-ong.top
都被解析到sunong.pages.dev,也就是 Cloudflare Pages。这是我的主站和静态内容所在的地方,所以访问这两个域名时,浏览器会直接到 Cloudflare 的服务器拿内容。comment.sun-ong.top
Waline用Vercel部署最简单,但是被墙了。这样设置能解析到vercel.cdn.yt-blog.top。这个中转域名本身是个加速器,它会帮我选择访问速度最快的 Vercel 节点来返回评论系统内容。
3 原理
-
DNS
DNS(Domain Name System)就像互联网的“电话簿”,它负责把我们熟悉的域名(例如sun-ong.top)转换成电脑能理解的 IP 地址(例如104.21.3.15),这样浏览器才能找到服务器拿内容。 -
子域名
域名可以有不同的层级,最顶层是主域名(比如sun-ong.top),在它前面加东西就是子域名:www.sun-ong.topcomment.sun-ong.top
每个子域名可以独立配置指向不同的服务器。 -
A记录和CNAME
-
A记录:直接告诉浏览器“这个域名对应这个 IP 地址”。
例如:sun-ong.top → 104.21.3.15www.sun-ong.top → 104.21.3.15 -
CNAME记录:告诉浏览器“这个域名其实是另外一个域名的别名,让它去解析那个域名”。
例如:comment.sun-ong.top → vercel.cdn.yt-blog.top这就意味着,浏览器访问
comment.sun-ong.top时,会先去查vercel.cdn.yt-blog.top的 IP,然后再访问对应服务器。
-
-
为什么每个子域名可以对应不同的记录
因为 DNS 是按域名层级查找的,所以每个子域名都可以单独设置记录。-
sun-ong.top和www.sun-ong.top可以指向同一个 Cloudflare Pages -
comment.sun-ong.top可以指向完全不同的加速器或 Vercel 节点
这样就实现了“域名分拆”,每个部分独立托管,互不影响。
-
部分信息可能已经过时