【问题标题】:AWS S3 object Public URL DilemmaAWS S3 对象公共 URL 困境
【发布时间】:2019-01-20 21:52:13
【问题描述】:

我位于亚太地区(孟买)地区。我有 S3 存储桶 abc
我有一张图片 A.png 具有完全的公共读取权限。

所以现在我可以使用 AWS 在 AWS 控制台中建议的从 Internet 访问它的 URL 是:

我也可以从以下 URL 访问图片:

现在 AWS Docs here 提供以下信息:

如果我的存储桶位于美国东部(弗吉尼亚北部),则提供的 URL 格式为

所以我的问题是,在我的应用程序中使用公共 URL 时是否需要牢记 URL 模式?
为什么 AWS 提供不同的 URL 模式,而不是为虚拟托管样式标准化一种格式,为路径样式标准化一种格式?

如果我在这里误解了任何技术细节,请告诉我。

【问题讨论】:

标签: amazon-web-services amazon-s3


【解决方案1】:

您所指的 URL 结构称为 REST 端点,而不是网站端点。

如果您的存储桶确实位于 AWS 的 us-east-1 区域 - S3 文档以前将其称为“美国标准”区域,但随后正式重命名为“美国东部(弗吉尼亚北部)区域”——那么http://s3-us-east-1.amazonaws.com/bucket/ 不是该端点的正确形式,即使它看起来应该是。该区域的正确格式是 http://s3.amazonaws.com/bucket/http://s3-external-1.amazonaws.com/bucket/。¹

您使用的格式适用于所有其他 S3 区域,但不适用于美国标准美国东部(弗吉尼亚北部)[us-east-1]。

您可以从这里获取端点列表:

https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

您应该根据实际需求和用例使用网站端点和休息端点。

请在此处找到详细信息:

https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff

s3-external-1.amazonaws.com 被称为“北弗吉尼亚端点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 2022-01-24
    • 2017-10-24
    • 2016-11-16
    相关资源
    最近更新 更多