试图设置一个子域…我如何设置DNS?

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

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

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

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

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

但是,它仍然没有工作。 我必须做其他事情,还是我做错了什么?

你的整个方法似乎有点奇怪,但如果你坚持要创build一个名为dev2.dev.example.com的子域,请继续编辑DNSlogging。

dev2.dev 77.765.43.21

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

您不要将条目添加到dev区域。 事实上,你甚至不应该有一个开发区。 一切都应该在example区域完成。

你可以在这里采取两种方法:

  1. 将所有内容保存在example.com区域文件中
  2. 将dev.example.com委派给一个单独的名称服务器。

选项1很简单:将所有内容保存在同一个文件中,而不需要另外设置一个服务器。 缺点是您的生产和开发DNS设置在同一个文件中,这可能不是您想要的 – 特别是如果您像我一样容易打字configuration文件!

如果你走这条路线,你的区域文件应该是这样的:#example.com#SOA,NS等

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

如果您不使用点字符终止标签,则会自动附加区域名称。

选项2有点复杂:您需要设置第二个DNS服务器来托pipedev.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委托给您当前的域名服务器的方式相同。