我刚刚获得了一个 Windows Server 2008 VPS。不管对错,我都按照主机的指示设置了自定义名称服务器。所以现在我有 ns1.mydomain.com 和 ns2.mydomain.com。由于我有一个 IP 地址,所以这两个是相同的。我有 www、* 和其他一些地址的 A 记录,没有 MX,因为我使用 Google Apps。我将拥有 mydomain.com 的注册商指向 ns1.mydomain.com。一切正常。
问题出在 myOtherDomain.com。我在注册商上将其 DNS 设置为指向 ns1.mydomain.com,并在 IIS 中为其提供自己的网站,并配置主机名为 myOtherDomain.com 和 www.myOtherDomain.com 的绑定。我以为这就是我要做的全部。显然不是。我是否需要在 DNS 服务器中添加其他内容?我应该有另一个自定义名称服务器吗?由于它们指向同一个 IP,我认为 IIS 会通过主机标头解决问题。
该网站是 php,但不确定这是否是问题所在。
答案1
您的“ns1.myDomain.com”DNS 服务器是否为“myOtherDomain.com”配置了正向查找区域?该区域中是否有正确的记录,可以将“裸”域名和“www”主机名解析为您的 Web 服务器计算机的 IP 地址?
IIS 可以很好地处理主机头,但是与机器托管的站点相关的所有名称也需要解析为 Web 服务器计算机的 IP 地址。
答案2
首先,如果您只有一台服务器,则应该只有一个 glue 记录。不要创建指向同一 IP 的 ns1 和 ns2。当您的服务器离线时,这会给您带来麻烦,并且不会给您带来任何好处。
如果您的注册商坚持要求您拥有两个名称服务器,请获取免费的备份 DNS 服务。我使用 afraid.org 和 buddyns.com;还有其他的。它们简单而且免费...
此外,每个域名的胶水记录中至少有一个应与该域名的顶级域名相匹配。因此,如果您有示例网站,至少一个粘合记录(在注册商处指定 IP 的名称服务器)也应为 ns1.whatever。组织。您可以有多个,但至少有一个应该像这样匹配。
确保您的 DNS 服务器(VM 上的服务器)已配置为服务于您的所有域。如果您有 example.com 和 example.org,则需要在服务器上配置两者。确保每个域都设置了相关的默认记录和您想要的任何主机记录(如“www”或“ftp”)。确保 SOA 和 NS 记录配置正确(SOA 应该是您的 VM ns1.example.com
;NS 记录应该是您的 VM 和您配置的任何备份 DNS 服务,它们将提供更多设置这些记录的说明,但这就像输入其服务器名称一样简单)。
在 IIS 中确保您有
- 未配置主机头(如果您希望指向该服务器的所有域名都访问同一个网站)
或者
您为每个域名配置了一个主机头:
您可以将所有主机头放在同一个 IIS 站点上(这样它们都可以获得同一个网站);
或者
您可以将每个主机头放在不同的 IIS 站点上(这样它们都可以获得不同的网站)。