我希望使用 S3 存盤桶在 AWS 上托管一個靜態網站。
我遵循了這些步驟。
該站點是一個帶有子目錄的常用目錄:
app
│ index.html
└───scripts
│ │ things.js
│ │ stuff.js
└───images
│ img1.png
│ img2.jpg
我想讓網站僅供我們 VPC 內的人訪問。我將以下型別的策略附加到保存站點檔案的存盤桶(添加我的特定存盤桶名稱和 VPC id):
{
"Version": "2012-10-17",
"Id": "Policy1415115909152",
"Statement": [
{
"Sid": "Access-to-specific-VPCE-only",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_bucket*",
"Condition": {
"StringEquals": {
"aws:sourceVpce": "vpce-blahblahblah"
}
}
}
]
}
我還設定了一個 VPC 端點,端點 ID 設定為aws:sourceVpce存盤桶策略內部的值。
我按照以下步驟設定了 VPC 端點。
但是我仍然無法在我的瀏覽器上訪問這個站點(我假設因為我使用相同的瀏覽器訪問 AWS 控制臺,AWS 知道我在 VPC 內)。
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>blahblahblah</RequestId>
<HostId>blahblahblah</HostId>
</Error>
uj5u.com熱心網友回復:
S3 靜態網站需要公共訪問。VPC 中不存在私有 S3 網站或只能通過 VPC 端點訪問之類的東西。
要使您的 S3 網站正常作業,您必須將您的存盤桶設定為公共存盤桶,或使用同樣只能通過互聯網訪問的 CloudFront。但是,至少當您使用 CloudFront(盡管不是網站本身)將其置于前端時,您的存盤桶可以是私有的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346555.html
標籤:亚马逊网络服务 亚马逊-s3 亚马逊-vpc 静态网络应用程序
