17

我有一个关于 AWS 负载均衡器的问题。

我可以CNAME完美地将我的 www 指向我的负载均衡器的 DNS,并且我知道它总是可以工作,但是我还需要将 @ 记录指向负载均衡器,以便人们可以访问mysite.com而不是访问www.mysite.com负载均衡器。

问题是 A 记录必须指向一个 IP 地址,因此我无法指向 DNS,并且负载均衡器的 IP 不断变化,因此 mysite.com 停止工作。

谁能推荐我解决这个问题?

4

8 回答 8

10

从技术上讲,这是做不到的。您只能使用 CNAME 引用 Amazon 负载均衡器,它会破坏 DNS 规则以将 CNAME 分配给域的根,因为这会导致 MX 记录出现问题。

也就是说,某些 DNS 提供商确实允许您这样做,亚马逊的 53 号路由不允许,但Zoneedit允许(带有警告)。如果您不需要您的电子邮件为该域工作,这是一个解决方案。如果您确实需要电子邮件,我的确实可以使用 Zoneedit,但 DNS 规则说您不能依赖它。

编辑:在我的帖子之后,亚马逊添加了使用 Route 53 将域的根(也称为区域顶点)映射到负载均衡器的功能。请参阅此博客文章

于 2011-04-29T19:06:50.327 回答
10

以下是步骤。

  1. 点击创建记录集
  2. 对于区域顶点记录,只需将名称字段留空
  3. 选择您想要制作 A 或 AAAA 的别名类型(这两种类型之后的所有步骤都相同)
  4. 选择是单选按钮。
  5. 在另一个选项卡中打开 EC2 控制台并导航到负载均衡器列表。单击负载均衡器并查看列表下方窗格中的描述选项卡。下面的示例输出

在此处输入图像描述

于 2012-11-30T02:02:45.593 回答
9

您需要一个执行重定向的 Web 服务器。即,您想从 mysite.com 指向的 Web 服务器发送 301“永久移动”,重定向到 www.mysite.com。然后您将 www.mysite.com 命名为 Amazon。

一些 DNS 托管服务提供商会为您执行此操作,我认为 GoDaddy 会这样做。否则,您需要设置一个可以配置的 Web 服务器来执行此操作。

.htaccess 中的 Apache 配置可以是例如:

RewriteEngine on
RewriteCond %{HTTP_HOST} mysite.com
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=permanent]

如果您有一个支持 .htaccess 的通用 Apache 托管站点,那么您可以这样做。

无论如何,您正在寻找的是重定向。

于 2011-04-29T19:18:03.430 回答
5

正如 David 指出的那样,您不能这样做并且仍然保留在 DNS RFC 中。你可以在某个地方构建一个小型的无负载平衡实例,只重定向 mysite.com -> www.mysite.com。不是一个完全优雅的解决方案,而是一个解决方法..

于 2011-04-29T19:09:40.490 回答
2

Amazon 现在在 Route53 中提供了一种将 A 记录绑定到 ELB 的机制:http ://www.allthingsdistributed.com/2011/05/aws_ipv6.html

于 2011-08-19T13:54:02.520 回答
1

您不需要重定向,是的,它可以完成。它只是不处于使用 DNS 的正常模式,所以很多人还不习惯使用带有 ELB 别名的区域顶点。

请参阅此处其他答案中给出的链接,尤其是https://serverfault.com/questions/342904/how-do-you-create-a-zone-apex-alias-that-points-to-a-elastic-load-平衡器

于 2012-10-22T20:16:11.300 回答
0

Amazon 在其 route 53 DNS 服务中添加了一个特殊的别名选项。您可以将 A 记录作为别名指向负载均衡器 dns。我遇到了同样的问题,因为我使用 Bind 9 托管自己的 DNS 服务器。我不想将 CNAME 与重定向解决方案一起使用。路由 53 解决方案更好,亚马逊擅长在全球传播 DNS 信息。

这里解释了如何将路由 53 与弹性负载均衡器的特殊别名记录一起使用。

https://serverfault.com/questions/342904/how-do-you-create-a-zone-apex-alias-that-points-to-a-elastic-load-balancer-in-th

于 2012-09-20T08:30:34.857 回答
0

来自 DNS 服务提供商的重定向对我不起作用。我决定放弃使用负载均衡器(从一开始我创建它只是为了尝试破解提到的证书问题)。如果您必须使用 LB,请阅读下面的 opt #2,我没有尝试过,但我认为它应该可以工作。

选项 #1(无 LB)获取您从受信任的颁发者处获得的证书并将其直接安装在服务器上。从服务器(http 到 https)给出重定向命令,它也将处理 www。我使用了 bitnami 的图像,所以我可以为此使用 bncert-tool。

选项 #2(使用 LB,您应该拥有证书正文和私钥)您应该执行选项 #1转到 AWS-> 导入证书的证书管理器,然后将该证书与您的 LB 一起使用,这样您在两种情况下都拥有相同的证书 我从未尝试过选择 #2

祝你好运

于 2020-08-18T10:09:14.713 回答