跳过正文
  1. Posts/

域名分拆

·80 字·1 分钟
· 加载中...
Sunong2008
作者
Sunong2008
A little bit about you
内容为随笔,未仔细查证,全是个人理解,可能不够严谨

1 起因
#

Waline评论系统用Vercel部署最简单,但是被墙了。所以用域名去绑定vercel.cdn.yt-blog.top。这个中转域名本身是个加速器,会选择访问速度最快的 Vercel 节点来返回评论系统内容。

由于我只有一个域名,所以尝试了“域名分拆”,发现原来很简单。而且好处很明显:为域名下的每个分支单独指定它的访问目标,灵活地把网站拆到不同的服务器上。

2 我的配置
#

image.png
图片下面还有一部分就不放出来了

  • sun-ong.topwww.sun-ong.top
    都被解析到 sunong.pages.dev,也就是 Cloudflare Pages。这是我的主站和静态内容所在的地方,所以访问这两个域名时,浏览器会直接到 Cloudflare 的服务器拿内容。
  • comment.sun-ong.top
    Waline用Vercel部署最简单,但是被墙了。这样设置能解析到 vercel.cdn.yt-blog.top。这个中转域名本身是个加速器,它会帮我选择访问速度最快的 Vercel 节点来返回评论系统内容。

3 原理
#

  1. DNS
    DNS(Domain Name System)就像互联网的“电话簿”,它负责把我们熟悉的域名(例如 sun-ong.top)转换成电脑能理解的 IP 地址(例如 104.21.3.15),这样浏览器才能找到服务器拿内容。

  2. 子域名
    域名可以有不同的层级,最顶层是主域名(比如 sun-ong.top),在它前面加东西就是子域名: www.sun-ong.top comment.sun-ong.top
    每个子域名可以独立配置指向不同的服务器。

  3. A记录和CNAME

    • A记录:直接告诉浏览器“这个域名对应这个 IP 地址”。
      例如:

      sun-ong.top → 104.21.3.15
      www.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,然后再访问对应服务器。

  4. 为什么每个子域名可以对应不同的记录
    因为 DNS 是按域名层级查找的,所以每个子域名都可以单独设置记录。

    • sun-ong.topwww.sun-ong.top 可以指向同一个 Cloudflare Pages

    • comment.sun-ong.top 可以指向完全不同的加速器或 Vercel 节点
      这样就实现了“域名分拆”,每个部分独立托管,互不影响。