我正在尝试弄清楚我的服务器的这个方面是如何工作的,但不确定我是否理解正确。我正在寻找以下假设的确认或对假设的修正。
情况:
我们有一台专用服务器(运行 WHM 和 cPanel),上面有多个网站,包括我们自己的网站。我们还有几个指向其他服务器的子域,我们的电子邮件也由不同的服务托管。我们的 NS 记录全部指向我们的专用服务器。设置大致如下:
- site.com : 我们的专用服务器
- support.site.com : 第三方服务 (zendesk)
- status.site.com :我们的专用服务器(临时)
- 电子邮件 / MX : 第三方服务 (rackspace)
status.site.com 暂时在我们的服务器上,但我希望将其移至单独的服务器 - 如果 status.site.com 也瘫痪了,我就无法报告瘫痪时间!
由于数据中心的问题,我们最近出现了停机,停机时发生的情况如下:
- site.com : 明显瘫痪
- support.site.com :可访问
- status.site.com : 关闭
- 电子邮件:下载
我的假设如下(如果我错了,请纠正!):
- support.site.com 有一个指向第三方服务器的 CNAME 记录。这就是主服务器宕机时子域名仍可访问的原因吗?
- 电子邮件已将 MX 记录设置为指向第三方服务。MX 记录的工作方式是否不同,是否必须在跳转到第三方服务之前先通知服务器?这与子域名的工作方式有何不同?
此外,假设我设置了一个单独的服务器来托管 status.site.com,我是否可以假设在服务器停机的情况下,它应该继续像 support.site.com 一样运行?
答案1
您的设置中的主要缺陷是您将 DNS 托管在您的服务器上(并且只托管在您的服务器上)。这始终是一个坏主意。理想情况下,您将在两个不同的网络/数据中心的两个服务器上托管 DNS,如果您这样做,所有不依赖于主服务器的东西都将继续工作,包括support.example.com
和邮件服务(以及状态站点,如果它在另一台机器上)。使用第三方提供商进行 DNS 托管是一种完美的可行方法,我建议不要自己运行它。
support.example.com
最有可能的是,它仍然在工作,因为 CNAME 解析仍然缓存在您的客户端上。
答案2
support.site.com 的 TTL 是多少?根据设置的时间值,这可以解释为什么子域仍然处于活动状态。因为记录尚未重新发布。记录上的缓存尚未过期,因此需要查询域的 DNS。MX 条目,您如何为它们分配优先级。这可以解释为什么在停机期间电子邮件不再可用。还建议将名称服务器拆分到不同的地理区域,以避免出现单点故障。