【问题标题】:Redirecting non-WWW to WWW in AWS not working在AWS中将非WWW重定向到WWW不起作用
【发布时间】:2022-06-22 06:16:24
【问题描述】:

我尝试设置从非 WWW 域到 WWW 域的重定向。 对于这个线程,我的域是example.com。 所以我想将example.com 重定向到www.example.com。 此线程中的所有资源也是基于 HTTPS 协议的。

我知道我需要为此设置一个 S3 存储桶。 所以我创建了一个名为example.com 的存储桶。 我将其配置为具有公共权限的静态网站托管:

我还将它配置为重定向到另一个域:

然后在 Route53 中,xxx.com 域下有 2 个相关条目:

第一个是捕获xxx.com域并将其转发到S3存储桶:

第二个是捕获example.xxx.com域并将其转发到我的负载均衡器(然后将其转发到我的ECS集群..):

所以对我来说似乎所有配置都是正确的。但是,我已经等待了 2 天的 DNS 传播延迟。但仍然:我无法通过:https://example.com 访问。我可以访问 S3 存储桶公共 url (Bucket website endpoint) - 它也在 route53 中设置为非 WWW 域的别名。我可以访问https://www.example.com。只有非 WWW 域不起作用:我超时..

有什么建议吗?


我也使用负载平衡器进行此重定向。

我已将 Route53 设置为将“example.com”域转发到我的负载均衡器。

然后在我设置的负载均衡器配置中:

所以现在当我输入:“example.com”时,我可以访问我的 Web 应用程序,但我会被路由到“https://example.com”——而不是 WWW。

【问题讨论】:

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


    【解决方案1】:

    为什么不使用您的 ALB 为您服务?将 www 和非 www 都指向您的 ALB,并创建一个规则来检查主机,如下所示:

    请将此规则添加到端口 443,可能有问题。

    对于端口 80,我直接重定向到正确的主机,例如 www.{host]...

    对于 443 中的规则,我会像屏幕截图中所示那样进行显式重定向。

    大多数浏览器默认添加 https 协议,因此只需键入 example.com 就会被请求为 example.com 而不是几年前的 example.com

    【讨论】:

    • 它没有用。我添加了我尝试做的截图
    • @Tal Rofe 也请将此规则添加到端口 443,可能存在问题。对于端口 80,我直接重定向到正确的主机,例如 www.{host]... 对于 443 中的规则,我像发送屏幕截图一样进行显式重定向。大多数浏览器默认添加 https 协议,因此只需键入 example.com 将被请求为 example.com 而不是几年前的 example.com
    • 如果您编辑答案并提供完整详细信息可能会有所帮助
    【解决方案2】:

    您还需要您的 ACM 列出 *.example.comexample.com 才能完成此操作。此外,您需要配置 HTTPS 侦听器以在接受域中包含这两个证书。

    其中一个需要作为默认值,另一个将是附加的。这样您就可以将您的 DNS 条目分别指向每个条目并指向 ELB。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-16
      • 1970-01-01
      相关资源
      最近更新 更多