Ubuntu的服务器 – configurationBIND9和Apache服务的域名和子域名

首先,让我为一个可能模糊的问题道歉。

我需要一些关于如何configuration下面描述的设置的指针。 我没有要求完成configuration文件,但我没有把它拼在一起。

build立

  • 几台电脑连接到路由器。
  • 服务器(Ubuntu服务器LTS 14.04)连接到路由器。
  • 路由器连接到互联网。
  • 公司网站在其他地方举办 – example.com
  • 在本地服务器上托pipe的本地网站git.example.comissues.example.com

目前

我在想,我可以设置路由器使用服务器作为主DNS。 服务器正在运行Bind9并将子域( git.example.comissues.example.com )parsing为服务器的静态IP。 Apache服务器的内容。 Bind9不parsingexample.com ,所以路由器使用辅助DNS(或Bind9可以redirect到另一个DNS服务器)。

到目前为止,我可以configuration设置,以便访问example.com/gitexample.com/issues ,但是我无法访问example.com

所以,我的问题是:我如何configurationBind9来解决git.example.com但不是example.com ,如何configurationApache以不同的方式(例如,另一个文档根?) issues.example.comissues.example.com ? 如果Bind9和Apache如何相互关联?

希望这是有道理的,我最近开始了这个整个服务器的事情,只有对networking的基本理论的理解。 🙂

编辑 :要清楚; git.example.comissues.example.com不需要(甚至不应该)从我们的networking外部访问。

编辑2 :添加图片。 预期的设置

首先,让我们澄清一个误解。 这种说法是不正确的:“Bind9不能parsingexample.com,所以路由器使用辅助DNS。” DNSparsing器不会通过configuration的DNS服务器列表,直到find它喜欢的响应。 他们通常假设所有服务器都会正确响应,并在一台服务器响应(正面或负面)后停止。

现在到了实际的问题。 看起来,git.example.com和issues.example.com不是子域名,而是实际上的服务器/主机名称。 子域名可能类似于:git.yourdepartment.example.com,“yourdepartment.example.com”是子域名。 如果是这种情况(它们实际上是服务器名称),那么您希望负责example.com的DNS服务器的pipe理员为您添加这2个Alogging。 然后在您的DNS(Bind9)服务器上为example.com创build一个转发区域:

  zone "example.com" { type forward; allow-query {any; }; // modify as you see fit forwarders { ip.of.dns.server1; ip.of.dns.server2; }; }; 

(编辑:或者只是运行一个caching名称服务器)

完成之后,您应该能够轻松地在Apache中为每个git.example.com和issues.example.com服务器设置虚拟主机(这里不缺less指南和教程)。

编辑:DNS和Apache之间的关系? DNS从URL获取主机名,并返回能够为请求提供服务的服务器(在这种情况下为Apache)的IP地址。 就这样。 (好吧,这太过简单了,但相当准确)