【问题标题】:Getting root to point to AWS ELB without using AWS nameservers在不使用 AWS 名称服务器的情况下让根指向 AWS ELB
【发布时间】:2017-09-29 17:12:57
【问题描述】:

我已经在 AWS Elastic Beanstalk 上设置了我的应用程序。我添加了一个负载均衡器,并为它指向了一个 CNAME 来表示“www”。但现在我也需要把根指向那里。我不能使用 Route53 并使用 AWS 名称服务器,因为客户想使用他们的。如何获取我的应用程序的 root 权限?我可以重定向流量吗?与我合作的技术主管建议设置服务器来进行重定向?

【问题讨论】:

  • wwwizer.com/naked-domain-redirect 怎么样?我与该服务没有任何联系,我也不使用它,因为我通常能够教育我的客户将他们的权威名称服务器更改为 Route 53 托管区域 转移他们的域(所以他们显然仍然拥有和控制域本身)符合他们对可靠性的最大利益......但我已经对其进行了测试,它似乎可以达到目的。我喜欢他们的常见问题解答说 “以前的答案太短。有错字吗?” 不,很简单。
  • 谢谢迈克尔。我似乎无法说服这个客户。我会试试这个
  • @Michael-sqlbot 如果您创建一个答案,我会接受它

标签: amazon-web-services dns


【解决方案1】:

由于 AWS ELB 仅提供 DNS 记录(而不是 IP),因此您需要使用 CNAME 映射。但是对于 DNS,CNAME 不允许根域指向它。为了克服这个问题,AWS 提供了别名记录(AWS 的自定义实现)来将根域指向 ELB。

如果您的客户想使用他们的域名服务器,您仍然可以使用,AWS Route53 可以通过以下步骤解决这个问题。

  1. 首先在 Route53 中为您的域创建一个公共托管区域。
  2. 然后在托管区域内创建一个记录集,以便根域指向 ELB,类型 = A - IPv4 地址,别名 = 是,ELB CNAME 作为别名值。
  3. 在外部域管理服务中,创建 NS 记录以将根域指向 Route53 名称服务器。

然后,当 DNS 解析发生时,根 DNS 查询将首先转到外部名称服务器(在 Route53 外部管理),然后将其转发到 route53,在那里它会解析 ELB 的 IP 地址并发回。

【讨论】:

  • "创建 NS 记录以将根域指向 Route53 名称服务器" 这与 CNAME 具有相同的问题。它只适用于子域。
  • @Michael NS 记录不是用于 route53,而是用于外部 DNS 管理服务。
  • 我明白,但是权威服务器不能用 NS 记录委托自己区域的顶点。这只适用于顶点(子域)以下。
【解决方案2】:

您可以使用单个静态 IP 地址设置一台机器,该地址除了将请求重定向到 www 主机之外什么都不做。然后,您可以在指向该机器的 DNS 区域顶点的裸域上放置一条 A 记录。

至少有一项服务http://wwwizer.com/naked-domain-redirect 可以为您完成这项工作。 (我不隶属于这项服务,但它似乎在做它声称的事情,并且会达到你的目的。可能还有其他人喜欢它。)

不过,理想情况下,您应该说服您的客户将权威名称服务器更改为指向您为他们创建的 Route 53 托管区域。他们仍然是其域的注册人和“所有者”,只需将名称服务器更改为其他名称,就可以从您手中夺回控制权。

我通常会向客户解释我们的负载平衡器基础架构与 DNS 服务器集成,因此如果平衡器节点发生故障,或者我们需要增加或扩大容量,或者遇到流量激增或 DDoS 事件,负载平衡器系统将自动更新其域的 DNS 记录,以尝试缓解问题并保持站点正常运行。否则就是以消除这些冗余层的方式做事。

【讨论】:

    【解决方案3】:

    理想情况下,您可以使用静态 IP 设置 apache 服务器,并首先在该 Web 服务器上安装免费的 SSL 证书。

    其次,您需要将根域名请求重定向到 AWS ELB。

    然后转到您的 DNS 管理并将您的顶点设置到您创建的服务器。

    【讨论】:

      【解决方案4】:

      由于 AWS ELB 仅提供 DNS 记录(而不是 IP),因此您需要使用 CNAME 映射。但是对于 DNS,CNAME 不允许根域指向它。为了克服这个问题,AWS 提供了别名记录(AWS 的自定义实现)来将根域指向 ELB。

      如果您的客户想使用他们的域名服务器,您仍然可以使用,AWS Route53 可以通过以下步骤解决这个问题。

      首先在 Route53 中为您的域创建一个公共托管区域。 然后在托管区域内为根域创建一个记录集,以指向 ELB,Type = A - IPv4 Address, Alias = Yes,ELB CNAME 作为 Alias 值。

      【讨论】:

        猜你喜欢
        • 2020-03-13
        • 2013-05-04
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2020-04-28
        • 2014-05-14
        • 2017-09-19
        • 1970-01-01
        相关资源
        最近更新 更多