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

问题描述 投票:0回答:1

我目前有一个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转发至外部服务。

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

dns cname
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.