簡體   English   中英

可以使用 s3.amazonaws.com/bucket/folder 訪問公共 S3 存儲桶,但不能使用 s3-us-east-1.amazonaws.com/bucket/folder

[英]Public S3 bucket access using s3.amazonaws.com/bucket/folder is possible but not using s3-us-east-1.amazonaws.com/bucket/folder

我想弄清楚為什么我無法使用以下 URL 訪問位於us-east-1區域的公共存儲桶的資源:

https://s3-us-east-1.amazonaws.com/demo.terraform.bucket/VideoImages/public.png

當我嘗試在瀏覽器中執行上述 URL 時出現該錯誤:

s3-us-east-1.amazonaws.com’s server IP address could not be found.

但是,如果我使用下面的 URL,它可以工作並且我得到資源:

https://s3.amazonaws.com/demo.terraform.bucket/VideoImages/public.png

我有另一個公共存儲桶,它是由我團隊中其他人在us-west-2不同地區創建的,我可以使用https://s3-us-west-2.amazonaws.com/<bucketname>/VideoImages/public.png訪問它https://s3-us-west-2.amazonaws.com/<bucketname>/VideoImages/public.png格式。

我試圖弄清楚我的存儲桶demo.terraform.bucket的訪問發生了什么。 為什么我無法使用該語法https://s3-<region>.amazonaws.com/<bucket name>/VideoImages/public.png訪問圖像?

桶策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicReadVideoImages",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::demo.terraform.bucket/VideoImages/*"
        },
        {
            "Sid": "AllowPublicReadMarketing",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::demo.terraform.bucket/MarketingResources/*"
        }
    ]
}

我將Block all public access設置為Off

s3-us-east-1.amazonaws.com為 A/AAAA 查詢返回NXDOMAIN ,即它不存在。 s3-<region>.amazonaws.com格式的域是遺留的,僅存在於通常具有非標准名稱的選定區域。 您不應再使用它們。

S3 域的現代格式是s3.dualstack.<region>.amazonaws.com/<bucket> 堅持這一點,不要忘記 IPv6 支持的dualstack位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM