gpt4 book ai didi

heroku - 如何为指向 Heroku 应用程序的顶级域(无 www)设置 DNS?

转载 作者:行者123 更新时间:2023-12-03 04:58:58 25 4
gpt4 key购买 nike

我已经向我的 Heroku 应用程序添加了一个自定义域,它可以与 www.domain.com 配合使用。

我还需要知道如何设置没有 www 的域来解析到应用程序。

这是我当前的 DNS 设置:

$TTL 86400
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2013041500 ; serial
14400 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum

@ IN NS robotns3.second-ns.com.
@ IN NS robotns2.second-ns.de.
@ IN NS ns1.first-ns.de.

@ IN A 88.198.38.XXX
localhost IN A 127.0.0.1
mail IN A 88.198.38.XXX
ftp IN CNAME www
imap IN CNAME www
loopback IN CNAME localhost
pop IN CNAME www
relay IN CNAME www
smtp IN CNAME www
www IN CNAME appname.herokuapp.com.
@ IN MX 10 mail

要使用哪些正确设置才能使 example.comwww.example.com 正确指向我的 Heroku 应用?

最佳答案

(注意:根域、基域、顶点域都是同一件事。可互换地用于 google-foo。)

传统上,要指向您的顶级域,您需要使用指向服务器 IP 的 A 记录。该解决方案无法扩展,并且对于像 Heroku 这样的云平台来说不可行,因为在 Heroku 中,多个且经常变化的后端负责响应请求。

对于子域(例如 www.example.com),您可以使用指向 your-app-name.herokuapp.com 的 CNAME 记录。从那时起,Heroku 管理 your-app-name.herokuapp.com 后面的动态 A 记录,以便它们始终保持最新。不幸的是,DNS 规范不允许在区域顶点(基本域)上记录 CNAME 记录。 (例如,MX 记录将被破坏,因为 CNAME 将首先到达其目标。)

回到根域,简单而通用的解决方案是根本不使用它们。作为后备措施,一些 DNS 提供商会为您设置 HTTP 重定向。在这种情况下,请将其设置为 example.com 是到 www.example.com 的 HTTP 重定向。

一些 DNS 提供商提出了自定义解决方案,允许在区域顶点上进行类似 CNAME 的行为。据我所知,我们有DNSimple's ALIAS recordDNS Made Easy's ANAME record ;两者的行为相似。

使用这些,您可以将您的记录设置为(使用区域文件表示法,即使您可能会在其网络用户界面上执行此操作):

@   IN ALIAS your-app-name.herokuapp.com.
www IN CNAME your-app-name.herokuapp.com.

记住这里的@是根域(example.com)的简写。另请注意,尾随点在区域文件和某些 Web 用户界面中都很重要。

另请参阅:

备注:

  • Amazon 的 Route 53 也有 ALIAS 记录类型,但它有一定的限制,因为它只能指向 AWS 内。目前我不建议将其用于 Heroku 设置。

  • 有些人将 DNS 提供商与域名注册商混淆,因为提供这两种服务的公司有一些重叠。请注意,要将您的 DNS 切换到上述提供商之一,您只需使用当前的域名注册商更新您的名称服务器记录。您无需转移域名注册。

关于heroku - 如何为指向 Heroku 应用程序的顶级域(无 www)设置 DNS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16022324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com