【问题标题】:How to redirect traffic from non www domain name to www.example.com in AWS Route 53如何在 AWS Route 53 中将流量从非 www 域名重定向到 www.example.com
【发布时间】:2017-04-07 10:29:00
【问题描述】:

我在 AWS Route 53 'www.derbyware.com' 中拥有一个域名,我在 Jelastic 上的 'http://node147934-env-7029269.phx.enscaled.us' 上运行了一个 Web 应用程序。现在对于我的用户,我希望他们使用 www.derbyware.com 而不是丑陋的 url 'http://node147934-env-7029269.phx.enscaled.us' 来访问 Web 应用程序。我成功地将 www.derbyware.com 作为 Web 应用程序的域名。现在非 www 'derbyware.com' 不起作用。

您可以测试网址。

【问题讨论】:

    标签: amazon-web-services redirect amazon-route53


    【解决方案1】:

    这是来自 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 存储桶名称必须是全局唯一的。如果您需要的bucket名称已经在使用,则无法使用此方案。

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

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

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

    【讨论】:

    • 我的是 abc.example.com,我已经创建了同样的 s3。还配置了 s3 来托管网站。然后使用您上面提到的步骤添加一个记录集。但它仍然无法正常工作。
    • 我认为这一行“在将所有请求重定向到另一个主机名字段中,输入 example.net,然后选择保存。”应该是这样,从非 www 重定向到 www:“在将所有请求重定向到另一个主机名字段中,输入 www.example.net,然后选择保存。”
    • 这很好用!一定不要忘记将bucket名称设置为与域名相同,否则Route53中将无法选择S3 bucket。
    【解决方案2】:

    为了澄清,您的情况似乎是:

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

    很遗憾,互联网上的 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

    【讨论】:

    • 你能检查一下编辑吗,我已经更改了问题文本
    • 这与选择的答案基本相同,除了关于如何实现第四个选项(S3 存储桶)的详细说明,它提到有多个选项。不过,S3 存储桶确实工作得很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 2021-02-26
    • 2017-08-31
    • 2018-07-21
    • 2020-11-14
    相关资源
    最近更新 更多