Ubuntu 服务器 - 配置 BIND9 和 Apache 来为域和子域提供服务

Ubuntu 服务器 - 配置 BIND9 和 Apache 来为域和子域提供服务

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

我需要一些关于如何配置下面描述的设置的提示。我并不是要求完成配置文件,但我无法将它们拼凑在一起。

设置

  • 多台计算机连接到一个路由器。
  • 服务器(Ubuntu Server LTS 14.04)连接到路由器。
  • 路由器连接到互联网。
  • 公司网站托管在其他地方 -example.com
  • 本地网站托管在本地服务器上 - git.example.comissues.example.com

现在

我正在考虑将路由器设置为使用服务器作为主 DNS。服务器正在运行 Bind9 并将子域(git.example.comissues.example.com)解析为服务器的静态 IP。Apache 服务器内容。Bind9 无法解析example.com,因此路由器为此使用辅助 DNS(或者 Bind9 可以重定向到另一个 DNS 服务器)。

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

因此,我的问题是:如何配置 Bind9 以解析git.example.com但不解析example.com,以及如何配置 Apache 以git.example.com不同的方式提供服务(即另一个文档根目录?)issues.example.com?如果是,Bind9 和 Apache 彼此之间有何关系?

希望这是有意义的,我最近开始接触整个服务器,并且对网络只有非常基本的理论了解。:)

编辑:明确地说;git.example.com并且issues.example.com不需要(甚至不应该)从我们的网络外部访问。

編輯2:添加了图片。 预期设置

答案1

首先,让我们澄清一个误解。这句话并不正确:“Bind9 不解析 example.com,因此路由器使用辅助 DNS 来解析。”DNS 解析器不会遍历已配置的 DNS 服务器列表,直到找到它喜欢的响应。它们通常假设所有服务器都会正确响应,并在一台服务器响应(正面或负面)后停止。

现在来看看手头的实际问题。看来 git.example.com 和 issues.example.com 不是子域,而是服务器/主机名。子域可能看起来像:git.yourdepartment.example.com,其中“yourdepartment.example.com”是子域。如果是这种情况(它们实际上是服务器名称),那么您需要负责 example.com 的 DNS 服务器的管理员为您添加这 2 个 A 记录。然后在您的 DNS(Bind9)服务器上为 example.com 创建转发区域:

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

(编辑:或者只运行缓存名称服务器)

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

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

相关内容