尝试设置子域名...如何设置 DNS?

尝试设置子域名...如何设置 DNS?

我有一个开发环境和一个生产环境。

生产环境位于example.com一台服务器(77.123.45.67)。

在一个完全独立的服务器(不同的主机,一切)上,我有dev.example.com(77.765.43.21)。

我正在尝试在开发服务器上创建一个子域:dev2.dev.example.com。我尝试向 dev DNS 区域文件添加一个条目:

dev2.dev.example.com CNAME dev.example.com

但是,它仍然不起作用。我还需要做其他事情吗,还是我做错了?

答案1

您的整个方法看起来有点奇怪,但如果您坚持要创建一个名为 dev2.dev.example.com 的子域,请继续使用 A 记录编辑 DNS。

dev2.dev 77.765.43.21

接下来,您需要编辑 Apache.conf 文件并添加 dev2.dev.example.com 作为“ServerName”或“ServerAlias”。

答案2

您无需向dev区域添加条目。事实上,您甚至不应该有区域。一切都应在区域dev中完成。example

答案3

您可以采取两种方法:

  1. 将所有内容保留在 example.com 区域文件中,或者
  2. 将 dev.example.com 委托给单独的名称服务器。

选项 1 很简单:将所有内容保存在同一个文件中,无需设置第二台服务器。缺点是您的生产和开发 DNS 设置位于同一个文件中,这可能不是您想要的——尤其是如果您像我一样容易输入配置文件错误!

如果您选择这条路线,您的区域文件应该看起来像这样:# example.com # SOA,NS 等。

@        IN A       77.123.45.67
dev      IN A       77.765.43.21
dev2.dev IN CNAME   dev

如果标签不是以点字符结尾,则会自动附加区域名称。

选项 2 稍微复杂一些:您需要设置第二个 DNS 服务器来托管 dev.example.com 域。如果您尝试复制生产环境,这可能是您想要的。假设您的第二个名称服务器位于 1.2.3.4,它将如下所示:

# example.com
# SOA, NS, etc. 

@        IN A       77.123.45.67
dev      IN NS      1.2.3.4

对于其他区域:

# dev.example.com
# SOA, NS, etc.
@        IN A       77.765.43.21
dev2     IN A       77.765.43.21

这会将整个 dev.example.com 域的权限委托给名称服务器 1.2.3.4,方式与 .com 将 example.com 委托给您当前的名称服务器相同。

相关内容