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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS:当有其他DNS子域时,将根域转发到www ...相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

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

2)在example.com上为我的所有应用子域制作CNAME记录,指向api-example.com

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

这个配置会起作用吗?有没有更简单的方法来获得相同的结果?

答案

你的计划很好,除了可能有一件事:一般来说,你不能拥有域名根(apex)的CNAME记录。这意味着您的外部演示文稿网站托管必须提供IP地址,您将创建一个A记录,将example.com指向该地址。然后你可以有一个CNAME记录简单别名www.example.comexample.com

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

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

以上是关于DNS:当有其他DNS子域时,将根域转发到www ...的主要内容,如果未能解决你的问题,请参考以下文章

将根域重定向到子域的影响

DNS&BIND——DNS的子域授权和定义转发服务器

搭建DNS主从服务器实现反向解析,子域,转发,智能DNS及排错和互联网DNS架构实验

Cloudflare DNS - 如何将所有子域重定向到根域?

如何将子域指向 Heroku 应用程序,将根域指向另一个 Heroku 应用程序?

?DNS子域授权view配置详解