【问题标题】:How to forward non WWW to WWW with AWS Amazon Cloud front behind HTTPS cloud front如何在 HTTPS 云前端后面使用 AWS 亚马逊云前端将非 WWW 转发到 WWW
【发布时间】:2016-07-15 20:54:06
【问题描述】:

我已经设置了 Cloud Front 以将所有调用重定向到 HTTPS 协议。 现在我想将“非 www”转发到 www。就目前的设置而言,我怎样才能做到这一点?

我尝试了下面的一个,但没有成功,因为这个没有考虑 HTTPS 重定向。

https://www.pbxdom.com/how-redirect-non-www-to-www-with-amazon-cloud-front-route-53-and-s3

URL 不会重定向 www。相反,它显示错误消息: 此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>

【问题讨论】:

  • 您能否澄清在遵循这些说明后无法正常工作的案例?
  • URL 不会重定向 www。相反,它显示错误消息:此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。错误> AccessDenied Access Denied
  • 似乎您的原始存储桶未正确设置以进行重定向。确保您的源存储桶已为网站设置并将重定​​向到 www。

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


【解决方案1】:

这是解决问题的另一种方法。实际上,我尝试完全按照您所做的那样做,但当涉及 CloudFront 时,我似乎永远无法真正将非 wwww 重定向到 www。

将 CloudFront 设置为将所有 HTTP 重定向到 HTTPS 后,它会处理所有重定向,因此您无需担心。你可以把它从逻辑方程中取出来。

您的域的 Route 53 中应该有 4 个“A”类型记录(假设您在 CloudFront 中启用了 IPv6):

  • www.domain.com “A”别名记录指向您的 CloudFront 实例
  • www.domain.com“AAAA”别名记录指向您的 CloudFront 实例
  • domain.com“A”别名记录指向您的 CloudFront 实例
  • domain.com“AAAA”别名记录指向您的 CloudFront 实例

最后,在常规 CloudFront 配置的 CloudFront“备用域名 (CNAME)”字段中,确保它包含 www 和非 www。请注意,CloudFront 更改实际上需要相当长的时间才能传播,因此请慎重并耐心等待您的更改。

这样做的最终结果是 www 和非 www 都可以工作,没有任何明显的从非 www 到 www 的重定向,但仍然存在 HTTPS 重定向。

【讨论】:

  • 虽然这在实践中确实有效,但从 SEO 的角度来看这并不理想。最佳做法是强制重定向到 www 或非 www,以规范为准。
  • 是的,这当然是一个重要的考虑因素,@brianjason!
【解决方案2】:

我有两个 CloudFront 分配来实现这一点,一个为非 www 到 www 重定向提供“example.com”,第二个提供来自“www.example.com”的实际内容。

为此,我在非 www CloudFront 分配上添加了 CloudFront Edge Lambda 函数,该函数将所有请求重定向到其 www 等效项。我写了a blog post with the details

对于不使用 Lambda 的替代方法,this answer 将非 www 分发指向一个 S3 存储桶集,以将所有请求重定向到 www 版本。

【讨论】:

    【解决方案3】:

    您可以使用https://www.nakedssl.com 将您在 SSL 下的裸域重定向到它的“www”版本(或任何其他),而无需任何复杂的 DNS 设置或更改您的提供商——它对一个域是免费的。

    NakedSSL 将为您的裸域 (https://yourdomain.com) 创建和托管 SSL 证书,将其重定向到您想要的 HTTPS URL(很可能是“https://www.yourdomain.com”)。

    希望对你有帮助!

    免责声明:我是创建 NakedSSL 团队的一员。

    【讨论】:

    • 哇哦!为我工作!这似乎是一项很棒的免费服务 :) 在这个问题上浪费了一整天之后,感觉很好。
    猜你喜欢
    • 2012-11-29
    • 2016-08-28
    • 2017-03-03
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 2017-03-23
    相关资源
    最近更新 更多