我有一个域 example.com,我想将其用于位于 example.herokuapp.com 的 Rails 应用程序,但我很困惑如何执行此操作。
赫罗库 说 https://devcenter.heroku.com/articles/custom-domains#root-domain
“区域顶端域(又名“裸”、“裸”或“根”域),例如,
example.com,不支持使用传统 DNS A 记录
Heroku。”然后他们继续解释解决方法(使用 ALIAS 或
一个名字)。
我花了一个小时阅读这个主题(这里是SO和其他地方),但仍然没有理解这个问题。
对于如何为“假人”完成此任务,是否有其他方法或解释?
我会尝试一下这个问题,因为这是一个常见问题。
好的,假设您有一个域 example.com 并且您想使用 www.example.com 来托管您的网站。在传统托管中,您可能有一个已分配 IP 地址的虚拟服务器,在这种情况下,您将使用主机记录(在 DNS 控制面板中也称为 A 记录)将 www.example.com 映射到 IP 地址。在这种情况下,由于您现在已将 www.example.com 设置为固定 IP 地址,如果该 IP 地址发生更改,您将需要自行更新 DNS。
此外,使用传统托管,您可以将 example.com 设置为相同的 IP 地址,以便 www.example.com 和 example.com 适用于裸域。
好的,那么什么是 CNAME 记录。 CNAME 记录不是映射到 IP 地址,而是将该记录映射到另一个 DNS 条目。因此,www.example CNAME 到 example.herokuapp.com 意味着 Heroku 可以并且可能会移动 example.herokuapp.com 指向的位置,但您不必更新任何内容,因为您使用的是 CNAME 记录,并且 Heroku 是管理 example.herokuapp.com 指向的位置(可以并且可能是另一个 CNAME 或 IP 地址)。 CNAME 记录的问题在于它们无法指向 IP 地址,这对于 www.example.com 来说没问题,但对于 example.com 来说却是个问题。 Heroku 之前发布了用于裸域的 IP 地址,但当它们遭受 DDOS 攻击时,问题随之而来,并且无法用新的 IP 地址替换这些 IP 地址,因为它们是已发布的 IP 地址。对于新的欧盟区域,Heroku 不会发布用于裸域的 IP 地址。
几个 DNS 提供商(我知道的 DNSsimple 就是其中之一)所做的就是将自己的 ALIAS 记录添加到他们的 DNS 服务器中,以允许您将 CNAME 与裸域一起使用,这样 www.example.com 和 example.com 都将像 Heroku 现在支持的那样工作。如果您的 DNS 提供商不支持 ALIAS 记录,则值得将域移动到支持它的 DNS 提供商。 DNSsimple 还支持重定向记录,因此您可以在 DNS 提供商级别(而不是在应用程序层)将 www.example.com 重定向到 example.com。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)