该区域是否需要位于 S3 域中?

Sen*_*ful 2 subdomain amazon-s3 amazon-web-services

当您导航到在 S3 上上传的文件时,您将看到其 URL 格式如下(例如,在此示例中,存储桶名称为example,文件为hello.txt):

https://example.s3.us-west-2.amazonaws.com/hello.txt

请注意,该地区,us-west-2嵌入在域中。

我不小心尝试访问没有区域的相同网址,并发现它也有效:

https://example.s3.amazonaws.com/hello.txt

使用这些较短的 URL 似乎比使用较长的 URL 更简单,因为我不需要绕过该区域。

从域中排除该区域有什么优点/缺点吗?或者这两个域是相同的吗?

小智 6

这是 Amazon S3 的一项已弃用的功能,称为“全局终端节点”。出于向后兼容的目的,某些区域支持全局端点。AWS 建议您将来使用标准终端节点语法。

对于支持全局端点的区域,您的请求将被重定向到标准端点。默认情况下,Amazon 将全球终端节点请求路由到 us-east-1 区域。对于位于 us-east-1 以外受支持区域的存储桶,Amazon S3 会更新 DNS 记录以供将来的请求(请注意,DNS 更新需要 24-48 小时才能传播)。然后,Amazon 使用 HTTP 307 临时重定向将请求重定向到正确的区域。

从域中排除该区域有什么优点/缺点吗?或者这两个域是相同的吗?

  • 域不一样。
  • 使用旧全局端点的优点:URL 更短。
  • 缺点:请求必须重定向,因此效率较低。此外,如果您在不支持全局终端节点的区域中创建存储桶,AWS 将返回 HTTP 400 Bad Request 错误响应。

TLDR:最佳实践是使用标准(区域)S3 端点语法。