![我可以在一台服务器上托管网站,并在另一台服务器上将域名连接到 bind ns 吗?](https://linux22.com/image/1028492/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%98%E7%AE%A1%E7%BD%91%E7%AB%99%EF%BC%8C%E5%B9%B6%E5%9C%A8%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%B0%86%E5%9F%9F%E5%90%8D%E8%BF%9E%E6%8E%A5%E5%88%B0%20bind%20ns%20%E5%90%97%EF%BC%9F.png)
答案1
不太清楚您得到了什么,但让我们根据我在您的问题中看到的内容进行一些拆分:
(1)您有一个为网站运行的 BIND9 DNS 名称服务器testshop.homes
。此名称服务器位于 81.171.5.222。
(2)您的网站有一个 Apache 网络服务器,地址为 15.235.51.16。
这是完全可以接受的。您的 BIND9 名称服务器和 Apache Web 服务器不需要位于同一 IP 地址。这是很常见的情况,因为人们在一台服务器上运行他们的网站等,但使用 CloudFlare 或他们的域名注册商等第三方来运行 DNS。但是,如果您更改 BIND9 服务器所在的位置,则必须进行更多更改才能使域名仍然解析 - 这通常需要在注册商/托管提供商处进行更改,具体取决于您使用什么来获取它,以便名称服务器能够正确到达您的域名的 DNS 记录实际存在的位置。
现实世界的例子:我自己的域名 - thomas-ward.net。(这不是广告)。
如果我们查看域配置中的名称服务器,它们指向 CloudFlare 的 DNS 服务器。这意味着名称服务器由 Cloudflare 运行,并且我已在注册商处对此进行了配置,以便 DNS 记录能够正确到达 CloudFlare 以处理我的域请求。
我的域名的实际网络服务器位于 50.211.[NOPE].[SILENCE]。这是 DNS 区域中的单个 A 记录。这不是 CloudFlare 服务器,而是我的服务器集群位置的 IP 地址。这些是完全不同服务器。然而,这只适用于您的域名的 DNS 服务器可以访问他们是正确配置在您的注册处。
举个例子:我有一个本地专用域,它只存在于我的笔记本电脑内部 - static-local.lxd
(用于我的非临时 LXD 容器)。它在 10.10.1.0 的 DNS 名称服务器上运行,而该名称服务器只存在于我的笔记本电脑上。为了查询static-local.lxd
,我必须将计算机的 DNS 设置为它查询的第一个服务器是我笔记本电脑上的本地容器 - 反过来处理我的所有 DNS。如果我更改名称服务器上的 IP 地址或将 DNS 设置更改为不先查询 10.10.1.0,那么我将永远看不到static-local.lxd
,我的 DNS 系统将回退到 Google DNS - 反过来显示 NXDOMAIN,因为该域名在互联网的现实世界中不存在。
请注意,我在互联网上进行了一些调查,您声明的域名已经归某人所有,并且没有任何与您声明的 IP 地址相对应的 DNS 名称服务器条目 - 因此,您看到的 NXDOMAIN 问题与您的 DNS 不再解析到正确的名称服务器有关,并且因为该域名由 Namecheap 的某人拥有,完全配置为无效的名称服务器,并且将绝不如果这是您的实际网站,则无法正确解析 - 您需要使用正确的 Web 服务器/DNS 实践从头开始重新配置它,才能开始正常工作