Kam*_*y D 6 https amazon-s3 amazon-web-services amazon-cloudfront amazon-route53
我已经设置了 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>
Run Code Online (Sandbox Code Playgroud)
这是解决问题的另一种方法。我实际上试图完全按照您所做的去做,并且当涉及 CloudFront 时,我似乎永远无法真正将非 wwww 重定向到 www。
一旦您将 CloudFront 设置为将所有 HTTP 重定向到 HTTPS,它就会处理所有这些重定向,因此您无需担心。你可以把它从逻辑方程中去掉。
您的 Route 53 域中应该有 4 个“A”类型记录(假设您在 CloudFront 中启用了 IPv6):
最后,在一般 CloudFront 配置的 CloudFront“备用域名 (CNAME)”字段中,确保它包含 www 和非 www。请注意,CloudFront 更改实际上需要很长时间才能传播,因此请谨慎并耐心地进行更改。
这样做的最终结果是 www 和非 www 都可以工作,没有任何从非 www 到 www 的明显重定向,但仍然存在 HTTPS 重定向。
我有两个 CloudFront 发行版来实现此目的,一个为非 www 到 www 重定向提供“example.com”,第二个提供来自“www.example.com”的实际内容。
为此,我在非 www CloudFront 发行版上添加了一个 CloudFront Edge Lambda 函数,该函数将所有请求重定向到其对应的 www 请求。我写了一篇博文详细说明了这一点。
对于不使用 Lambda 的替代方法,此答案将非 www 分发指向 S3 存储桶集,以将所有请求重定向到 www 版本。
| 归档时间: |
|
| 查看次数: |
4998 次 |
| 最近记录: |