如何将流量从非 www 域名重定向到 AWS Route 53 中的 www.example.com

How to redirect traffic from non www domain name to www.example.com in AWS Route 53

我在 AWS Route 53 'www.derbyware.com' 中拥有一个域名,我在“http://node147934-env-7029269.phx.enscaled.us' on Jelastic. now for my users I want them to access the web application using www.derbyware.com not the ugly url 'http://node147934-env-7029269.phx.enscaled.us”有一个 Web 应用程序 运行。我成功地让 www.derbyware.com 作为网络应用程序的域名。现在非 www 'derbyware.com' 不起作用。

您可以测试这些网址。

澄清一下,您的情况似乎是:

  • 您在 Internet 的某处有一个现有的网络服务 运行,可以通过 DNS 名称
  • 访问
  • 您有一个由 Amazon Route 53 管理的域名(例如 example.com
  • 您已成功将发送到 www.example.com 的请求重定向到您现有的网络服务
  • 您还希望重定向 example.com 到您现有的网络服务

不幸的是,Internet 上的 DNS 规范 不允许在顶级域顶点 上进行 CNAME 重定向(例如 example.com)。如果您需要将用户定向到 DNS 名称,这是不可能的。但是,如果您能够将用户重定向到特定的 IP 地址,那么您可以简单地在域顶点创建一个 A 记录,它将 example.com 解析为该 IP 地址。

Amazon Route 53 具有允许通过Alias 函数 重定向 DNS 顶点记录的特殊能力。此 可以 将流量重定向到:

  • Amazon Elastic Beanstalk 环境
  • Amazon CloudFront 分配
  • 一个弹性负载均衡器
  • 配置为静态网站的 Amazon S3 存储桶

遗憾的是,如果您的目标 Web 服务无法通过这些方法之一访问,您将无法重定向域顶点。

参见:Choosing Between Alias and Non-Alias Resource Record Sets

这是来自 AWS Support 的解决方案

分辨率:

使用以下过程重定向您的域。在这个例子中,我们将 example.com 重定向到 example.net.

要求:

  • 域 example.com 的托管区域托管在 Amazon Route 53 中。
  • 您有权将资源记录添加到 example.com 的托管区域。
  • 您有权创建 Amazon S3 存储桶。
  • 您可以使用 example.com 的确切名称创建 S3 存储桶。

注意:站点必须是 HTTP,因为重定向无法通过 HTTPS 连接到 S3。

  1. 在 Amazon S3 控制台中,创建一个名称与 example.com 完全相同的 S3 存储桶。

注意:S3 存储桶名称必须是全局唯一的。如果您需要的桶名已经被使用,则无法使用此方案

  1. 选择您刚刚创建的存储桶,然后选择“属性”。展开静态网站托管下拉菜单,然后 select 将所有请求重定向到另一个主机名。
  2. 在将所有请求重定向到另一个主机名字段中,输入 example.net,然后选择保存。
  3. 在 Route 53 控制台中,select 名为 example.com 的托管区域。
  4. 使用以下值为 example.com 创建资源记录:

    • 记录类型:选择 IPv4 地址。
    • 别名:选择是。
    • 别名目标:Select 空白值字段,展开下拉菜单,然后在 header S3 网站端点下选择您的 S3 存储桶。
    • 路由策略:选择简单。
    • 评估健康目标:选择否,然后选择创建。注意:drop-down 菜单可能需要一些时间来填充您的存储桶名称。

您现在应该可以将 example.com 重定向到 example.net。您可以通过浏览至 example.com 或 CURL 至 example.com 来确认这一点。您应该在 curl 输出中看到“301 Moved Permanently”,重定向到 example.net.