如何将 Cloudflare 用于子域名(我拥有的域名)?网站托管在 Namecheap 共享服务器上

如何将 Cloudflare 用于子域名(我拥有的域名)?网站托管在 Namecheap 共享服务器上

我在 Namecheap 共享托管服务器上有一个网站,我想使用 Cloudflare(免费套餐)。网站的主要内容位于子域中。根域只有一个虚拟登录页面。我注意到,当我尝试添加网站/域时,Cloudflare 会抓取根域的 DNS 记录,但不会抓取子域的 DNS 记录。

Namecheap 的一位支持代理告诉我,在切换到 Cloudflare 的 DNS 服务器之前,至少应该为子域名创建一个 A 记录。她还导出了我当前的所有 DNS 记录,我可以在 Cloudflare 记录向导中的文件上传功能中使用这些记录:

在此处输入图片描述

我并不介意整个域流量(包括根目录下的虚拟登录页面)都会经过 Cloudflare。我只是担心如果我在更改 DNS 服务器之前没有正确的 DNS 记录会发生什么。

我希望能够在周末使用我的网站而不中断服务,但同时我想注册 Cloudflare。我该如何做到这一点而不搞砸呢?

答案1

据我所知,CloudFlare 提供两种服务,DNS 托管和 Web 代理。使用 CloudFlare 作为域的 DNS 名称服务器是 Web 代理服务的先决条件,但并不意味着整个域都将被代理:它们仍然是两个独立的服务。

至于主要问题:

验证 CloudFlare 的 DNS 配置

将 DNS 导出文件上传到 CloudFlare 之后,但在更改域名的名称服务器之前,您可以使用 DNS 查询工具(例如dighost或)nslookup来验证 CloudFlare 是否具有正确的数据。

首先查询您的域或子域的当前“全局”DNS,然后立即将结果与直接对CloudFlare的名称服务器的查询进行比较:

$ dig example.com A
$ dig example.com A @blah.ns.cloudflare.com

$ host -t A example.com
$ host -t A example.com blah.ns.cloudflare.com

C:\> nslookup -q=A example.com
C:\> nslookup -q=A example.com blah.ns.cloudflare.com

如果它们都返回相同的 A 记录,则 (子) 域的行为也将相同。对 AAAA (IPv6) 和 MX (电子邮件) 重复相同的检查。

在 CloudFlare 中使用子域名

如果您实际上不希望整个域的 DNS 基于 Cloudflare,则不必更改整个域的名称服务器。您可以委托子域名到 Cloudflare,就像 TLD 当前将您的域名委托给 Namecheap 一样。

只需在子域中添加 NS 记录即可创建此类委托。例如,普通的“web”子域如下所示:

mysubdomain    A     192.0.2.1

代表团将如下所示:

mysubdomain    NS    blah.ns.cloudflare.com.

对于大多数目的来说,委派的子域名充当其自己的域名。

相关内容