gpt4 book ai didi

amazon-web-services - Cloudfront 到 s3 重定向到子域给出访问被拒绝错误

转载 作者:行者123 更新时间:2023-12-04 00:16:45 24 4
gpt4 key购买 nike

我使用 Cloudfront 和路由 53 在 aws s3 上设置了一个静态网站。
目前我可以通过https://www.example.com正确访问网站
我正在尝试重定向 http://example.comhttps://example.comhttps://www.example.com (http://www.example.com 已经正确重定向)。
似乎设置它的唯一方法是使用两个云端分布和两个 s3 存储桶(以及路由 53 中的两个别名 A 记录)。
我已经配置了 example.com桶重定向到www.example.com使用 https 协议(protocol)。
其中一个云端发行版指向 www.example.com带有 http 到 https 重定向的存储桶,默认根对象为 index.html备用域名为 www.example.com其他云端发行版指向 example.com没有 http 到 https 重定向的存储桶,并且在默认根对象中没有设置任何内容(我也尝试过 index.html,但没有帮助),备用域名为 example.com .
两个发行版在 ACM 中使用相同的证书设置,涵盖 *.example.comexample.com(其他设置使用默认值)。
当我尝试通过 https://example.com 访问时,我不清楚为什么会收到拒绝访问错误。 (或 http://example.com )我的设置有什么问题?

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>....</RequestId>
<HostId>.....</HostId>
</Error>
更新有关存储桶的更多详细信息:
正如下面评论中提到的,根域 s3 存储桶在没有云端的情况下正确重定向。重新添加 cloudfront 并且拒绝访问错误再次出现。
两个存储桶都具有公共(public)访问权限,即 Block all public access设置为关闭。
两者的存储桶策略设置为:
{
"Version": "2012-10-17",
"Id": "Policy1595518880784",
"Statement": [
{
"Sid": "Stmt1595518834954",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::example.com/*"
}
]
}
对于子域存储桶,它有一个 ..:::www.example.com/*在资源中。
Cloudfront 中使用的存储桶来源是 example.com.s3.amazonaws.comwww.example.com.s3.amazonaws.com

最佳答案

问题在于重定向存储桶前面的云端分布。虽然 cloudfront 中 www 存储桶的来源的自动完成工作正常,但它不适用于重定向存储桶。相反,您需要手动添加它,它不是 s3 rest api 格式,而是静态站点版本。因此,请改为输入 example.com.s3-website-us-east-1.amazonaws.com 形式的内容。这似乎有点像 aws 控制台中的错误,它不应该在 s3 重定向存储桶之前自动完成无效的存储桶名称。

关于amazon-web-services - Cloudfront 到 s3 重定向到子域给出访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63178996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com