amazon-web-services - AWS S3 静态存储桶托管-内部服务器错误
问题描述
我已经设置了一个 AWS S3 存储桶来使用我自己的 URL 托管一个静态网站。存储桶和里面的文件的所有权限都是公开的。我通过打开 index.html 页面的公共链接确认了这一点。当我输入我的 URL (ianpritchard.com) 时,我收到一个内部服务器错误。我将日志记录在存储桶上,并看到我的请求被拒绝访问。有谁知道为什么?我确实在我的托管区域中设置了 A 记录。
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>xxx</RequestId>
<HostId> xxxx </HostId>
</Error>
桶策略在这里 -
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::xxxx/"
}
]
}
解决方案
您的政策看起来很奇怪,资源应该是xxx/*
并且主体应该*
:
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"publicRead",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::xxxx/*"]
}
]
}
在此处查看一些示例
不确定为什么/如何获得index.html
,请发布 index.html 页面的公共链接:
推荐阅读
- python - 带环的蒙特卡洛高斯函数
- node.js - 在adonisjs中使用关系返回数据得到空结果
- asp.net-core - @RenderSectionAsync 在哪种情况下有用?
- python - Python:List Comprehension 破坏 Selenium While 循环
- python - QStackedWidgets 调用时不调整大小
- python - BFS寻找最短路径的两种实现方法,哪一种是明显的赢家?
- c++ - 如何从 C++ 中的 std::chrono::year_month_day 获取工作日编号
- ios - IOS/SWIFT How to make the button highlight for a period of time with swift
- javascript - JavaScript 将 JavaScript 对象转换为 JSON 对象
- c++ - Boost shared_ptr 在 vscode intellisense 中找不到系统头文件