有人告诉我,我无法将域 (example.com) 的根设为 CNAME - 我必须指定一个 IP。
鉴于您不能使用 IP 地址指向您的弹性负载均衡器,最好的做法是什么?
目前我这样做:
example.com - 第一台服务器的弹性 IP 记录 - 重定向到 www.example.com
www.example.com CNAME 到负载均衡器的主机名
如果第一台服务器停止运行,重定向将失败。
有没有更好的方法来解决这个问题?
答案1
您的方法可能是最明智的。
您可以做的是循环 DNS 您的根记录,只需为 example.com 添加多个 A 记录即可。域并在所有服务器上复制重定向代码。这样它就不会那么依赖于第一个服务器。
如果您的重定向是 301,那么几乎所有用户都会缓存 301,因此下次他们通过 example.com 访问该网站时,他们的浏览器应该(如果他们不清除缓存)自动重定向到 www.example.com,甚至不检查服务器,然后直接进入您的负载均衡器
答案2
看起来亚马逊现在已经针对此问题实施了解决方案。
“Amazon Route 53 已与 Amazon EC2 的 Elastic Load Balancing 集成,以便您轻松地将根域或“区域顶点”(例如 mydomain.com,不带‘www’)直接映射到您的负载均衡器。”
答案3
我发现大多数域名注册商都提供带域名重定向 (HTTP 301) 的基本 DNS 工具,因此您应该能够将根条目(例如 example.com)设置为 www.example.com 或类似网站的重定向。这一切都假设您同意重定向,并且不需要您的网站响应 example.com。这将使您不必像亚马逊那样为另一个弹性 IP 付费。