当 DNS 托管在 Bluehost 中时如何在 Route 53 中设置子域

How to setup a subdomain in Route 53 when the DNS is hoted in Bluehost

我对如何指向 ALB 后面 运行 的 EC2 实例的子域的过程感到困惑。目标组有端口 80,然后将流量重定向到 443,然后是第二个目标组,它有 443 的 SSL 证书。我在网上读到我需要在子域的 Route 53 中创建一个托管区域(例如 apples.ilovefruits.org) 并设置 ALB 的别名。我的域和子域托管在 Bluehost 上。我在网站上收到的错误是“403 Forbidden”:

如果您对此有任何帮助以使其正常工作,我们将不胜感激。

更新: 我应该用 Bluehosts NS 记录替换 Route 53 的 NS 记录吗?

I have read online that I would need to create a hosted zone in Route 53 of the subdomain (e.g. apples.ilovefruits.org) and setup an ALIAS of the ALB.

事实并非如此。您可以委托子域并在 Route 53 中创建别名记录,您可以在当前的 dns 提供商中创建 CNAME 记录。

ALIAS 记录是一个 A 记录,它将自动解析为 ALB 的 IP,而无需中间 CNAME 查找。这很好,但绝不是必要的。 ALIAS 记录是特定于 Route53 的与其他 AWS 资源的集成。

将子域委派给 route53 - 费用为每月 0.50 美元加上每百万请求几美分 - 可以更方便地在该子域内创建 AWS dns 记录。如果您要创建大量指向 AWS 中的内容的 dns 记录,它会特别有用。在您当前的 DNS 提供商中手动创建记录通常是一个足够的解决方案,直到您创建多个记录。

如果您要使用亚马逊的证书颁发服务 ACM,route53 子域也很方便。这些证书是免费的、安全的,并且 - 如果您使用 DNS 验证 - 可以自动续订。如果证书的域在route53,ACM的aws控制台会有一个按钮自动添加验证记录——方便吧?但是您可以在任何 DNS 提供商中创建相同的记录,所以再次重申,除非您每周做几次,否则手动方法还不错。

如果您要创建 CNAME,请在您当前的 DNS 提供商中执行此操作。创建一个 CNAME 记录,其名称是您想要的 DNS 名称,value 值是 web 控制台中 ALB 详细信息中提供的 ALB 的 dns 名称。这个功能很好。

如果您确实想委托域,请先选择子域并在 Route 53 中创建其区域。记下 NS 记录下的 4 个名称服务器。这些服务器已准备好响应对子域的请求,但在您将这些服务器作为子域的 NS 记录添加到当前的 DNS 提供商之前,没有人会询问它们。然后,public 子域的查询将被引用(或“委托”)到亚马逊服务器。

UPDATE: Should I replace the NS records of Route 53 with Bluehosts NS records?

不,Route 53 中区域的 NS 记录准备好为您的区域提供查询服务,但该记录不会将任何查询指向这些服务器。委托子域的记录位于 parent 区域(例如 ilovefruits.org)。更改该 NS 记录基本上没有任何作用。上面,我们*为 sub 域添加新的 * NS 记录,不更改父域中已经存在的任何内容。

如果你好奇的话,ilovefruits.org本身也是如此。在这种情况下,域注册商还会为 .org 域中的 ilovefruits 提供 NS 记录。作为域名注册人,您可以选择这些服务器。您可以通过向您的注册商更改这些设置,将您的 dns 迁移 到亚马逊。但尽管看起来很奇怪,即使那样,大多数 dns 查找也不会参考该区域内域的 NS 记录。 DNS 从顶层开始,所以 .org 是指向 ilovefruits.org 的域;当然,它不能指向它自己!

除非您确定自己知道自己在做什么,否则不要更改 dns 区域根目录的 NS 记录。它们不是正常 dns 查找的一部分,将由 dns 提供商适当设置,即使您的域没有向它们委托任何 dns 查询。

The error I receive on the website to enter is a "403 Forbidden":

与DNS无关,需要单独诊断