我对AWS Load Balancers有疑问。
我可以将我的CNAME
www完美地指向我的负载均衡器的DNS,我知道它将始终有效,但我还需要将@记录指向负载均衡器,以便人们可以访问mysite.com
而不是www.mysite.com
并击中负载均衡器。
问题是A记录必须指向一个IP地址,因此我无法指向DNS并且负载均衡器的IP不断变化,因此mysite.com停止工作。
有人可以推荐我解决这个问题吗?
答案 0 :(得分:9)
您需要一个执行重定向的Web服务器。即你想从mysite.com指向的网络服务器发送301“永久移动”,重定向到www.mysite.com。然后你CNAME www.mysite.com到亚马逊。
有些DNS托管服务提供商会为您做这件事,我认为GoDaddy会这样做。否则,您需要设置一个可以配置的Web服务器来执行此操作。
.htaccess中的Apache配置可以是例如:
RewriteEngine on
RewriteCond %{HTTP_HOST} mysite.com
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=permanent]
如果您有一个支持.htaccess的通用Apache托管站点,那么您可以这样做。
无论如何,你要找的是重定向。
答案 1 :(得分:8)
以下是步骤。
答案 2 :(得分:7)
从技术上讲,它无法完成。您只能使用CNAME引用Amazon负载均衡器,并且它会中断DNS规则以将CNAME分配给域的根目录,因为这会导致MX记录出现问题。
也就是说,某些DNS提供商允许您这样做,亚马逊的路由53没有,但Zoneedit允许它(带警告)。如果您不需要您的电子邮件为该域工作,这是一个解决方案。如果你确实需要电子邮件,我确实使用Zoneedit工作,但DNS规则说你不能依赖它。
编辑:在我的帖子之后,亚马逊添加了使用Route 53将域的根(例如区域顶点)映射到负载均衡器的功能。请参阅this blog post。
答案 3 :(得分:5)
正如David指出的那样,你不能这样做,仍然保留在DNS RFC中。您可以在某个地方构建一个小的无负载均衡实例,只需重定向mysite.com - > www.mysite.com。不是一个完全优雅的解决方案,而是一个解决方案..
答案 4 :(得分:2)
亚马逊现在在Route53中具有功能,它提供了将A记录绑定到ELB的机制:http://www.allthingsdistributed.com/2011/05/aws_ipv6.html
答案 5 :(得分:1)
您不需要重定向,是的,可以完成。它只是不处于使用DNS的正常模式,所以很多人不习惯使用带有ELB别名的区域顶点。
请参阅此处其他答案中给出的链接,尤其是https://serverfault.com/questions/342904/how-do-you-create-a-zone-apex-alias-that-points-to-a-elastic-load-balancer-in-th
答案 6 :(得分:0)
亚马逊在其路由53 DNS服务中添加了一个特殊的别名选项。您可以将A记录指向负载均衡器dns的别名。我遇到了同样的问题,因为我使用Bind 9托管自己的DNS服务器。我不想在重定向解决方案中使用CNAME。 Route 53解决方案更好,亚马逊非常擅长在全球范围内传播DNS信息。
以下是如何使用带有弹性负载平衡器的特殊别名记录的路径53的说明。
答案 7 :(得分:0)
从DNS服务提供商进行的重定向对我不起作用。 我决定放弃使用负载平衡器(从一开始我就创建它只是为了尝试破解提到的证书问题)。如果您必须使用LB,请阅读opt#2下面的内容,但我没有尝试过,但我认为它应该可以工作。
选项1(不含LB) 采取从受信任的颁发者那里获得的证书,并将其直接安装在服务器上。从服务器(从http到https)给出重定向顺序,它将也处理www。 我使用了bitnami的图像,因此可以使用bncert-tool。
选项2(对于LB,您应该具有证书正文和私钥) 您应该执行选项#1 ,然后转到AWS->导入证书中的证书管理器,然后将该证书与您的LB一起使用,这样您在两种情况下都具有相同的证书 我从未尝试过选择#2
祝你好运