DNS:当有其他DNS子域时,将根域转发到www..

  • 本文关键字:DNS 转发 www 其他 dns cname
  • 更新时间 :
  • 英文 :


我目前有一个DNS设置,所有内容和应用程序都托管在同一台云服务器上 - example.com。

演示网站在 example.com 上,www 通过 CNAME 转发给 example.com,然后各种内部应用程序(例如 app.example.com)也与 CNAME 记录一起转发给 example.com。在我的服务器上运行的 NGINX 从那里获取它,将子域路由到不同的应用程序。

我想在外部服务上托管演示网站,我对如何更新我的 DNS 配置感到困惑 - 特别是如何处理我的 A 记录。

我可以为 www 创建一个 CNAME,该 CNAME 将 www.example.com 转发到我的外部托管服务。但是 example.com 仍然指向我自己的服务器...如果我理解正确,如果我 example.com 转发给 www.example.com,那么我的所有应用程序都会崩溃,例如 app.example.com。

我有什么选择来处理这个问题?

我的想法(通过搜索)是,如果我想 example.com 指向外部服务,那么我应该

1) 创建一个新的域 api-example.com,其 A 记录指向托管我所有应用的服务器

2) 为指向 api-example.com example.com 上的所有应用子域进行 CNAME 记录

3)将 example.com 转发到 www.example.com,并将 www.example.com 转发到外部服务。

此配置会起作用吗?有没有更简单的方法可以得到相同的结果?

您的计划很好,除了一件事:通常,您不能拥有域根(顶点)的CNAME记录。这意味着您的外部演示网站托管必须提供一个 IP 地址,并且您将创建一个A记录,该记录将example.com指向该地址。然后,您可以拥有一条CNAME记录,只需将www.example.com混叠到example.com

此外,请确保在步骤之间留出足够的时间,以确保所有 DNS TTL 都已过期,这样就不会遇到 DNS 缓存问题。

有关域顶点 CNAMEing 问题的说明(和可能的解决方法),请查看 https://stackoverflow.com/a/33027309/1145196

最新更新