

# 访问 Amazon S3 通用存储桶
<a name="access-bucket-intro"></a>

您可以使用 Amazon S3 控制台、AWS Command Line Interface、AWS SDK 或 Amazon S3 REST API 访问 Amazon S3 通用存储桶。访问 S3 通用存储桶的每种方法都支持特定的应用场景。有关更多信息，请参阅以下部分。

**Topics**
+ [

## 使用案例
](#accessing-use-cases)
+ [

## Amazon S3 控制台
](#accessing-aws-management-console)
+ [

## AWS CLI
](#accessing-aws-cli)
+ [

## AWS SDK
](#accessing-aws-sdks)
+ [

## Amazon S3 REST API
](#AccessingUsingRESTAPI)
+ [

# 通用存储桶的虚拟托管
](VirtualHosting.md)

## 使用案例
<a name="accessing-use-cases"></a>

根据您的 Amazon S3 通用存储桶的应用场景，建议使用不同方法来访问存储桶中的底层数据。以下列表包括访问数据的常见应用场景。
+ **静态网站** – 您可以使用 Amazon S3 托管静态网站。在此应用场景中，您可以配置 S3 通用存储桶，使其功能与网站相似。要了解有关在 Amazon S3 上托管网站的步骤的示例，请参阅[教程：在 Amazon S3 上配置静态网站](HostingWebsiteOnS3Setup.md)。

  要托管启用了“屏蔽公共访问权限”等安全设置的静态网站，建议使用带来源访问控制（OAC）的 Amazon CloudFront，并实施其它安全标头，例如 HTTPS。有关更多信息，请参阅[安全静态网站入门](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)。
**注意**  
Amazon S3 针对静态网站访问支持[虚拟托管类型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access)和[路径类型 URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access)。由于可以使用路径类型和虚拟托管类型 URL 访问存储桶，因此，建议您使用符合 DNS 标准的存储桶名称创建存储桶。有关更多信息，请参阅 [通用存储桶配额、限制和局限性](BucketRestrictions.md)。
+ **共享数据集**：在 Amazon S3 上扩展时，通常会采用多租户模式，即在共享通用存储桶中为不同的最终客户或业务部门分配唯一前缀。通过使用 [Amazon S3 接入点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)，您可以将一个大型存储桶策略划分为每个需要访问共享数据集的应用程序的独立接入点策略。这种方法可以更轻松地专注于为一个应用程序构建正确的访问策略，而不中断任何其它应用程序在共享数据集中的操作。有关更多信息，请参阅 [通过接入点管理对共享数据集的访问](access-points.md)。
+ **高吞吐量工作负载**：适用于 Amazon S3 的 Mountpoint 是一款高吞吐量开源文件客户端，用于将 Amazon S3 通用存储桶作为本地文件系统进行挂载。借助 Mountpoint，您的应用程序可以通过文件系统操作（例如打开和读取）访问存储在 Amazon S3 中的对象。Mountpoint 会自动将这些操作转换为 S3 对象 API 调用，让您的应用程序能够通过文件接口访问 Amazon S3 的弹性存储和吞吐量。有关更多信息，请参阅 [将 Amazon S3 存储桶挂载为本地文件系统](mountpoint.md)。
+ **多区域应用程序**：Amazon S3 多区域接入点提供了一个全局端点，应用程序可以使用该端点来满足来自位于多个 AWS 区域中的 S3 通用存储桶的请求。您可以使用多区域接入点通过单个区域中使用的相同架构构建多区域应用程序，然后在世界任何地方运行这些应用程序。多区域接入点不是通过公共互联网发送请求，而是提供内置的网络韧性，加速向 Amazon S3 发送基于互联网的请求。有关更多信息，请参阅 [使用多区域接入点管理多区域流量](MultiRegionAccessPoints.md)。
+ **Secure Shell（SSH）文件传输协议（SFTP）**：如果您尝试通过互联网安全地传输敏感数据，则可以将支持 SFTP 的服务器与 Amazon S3 通用存储桶结合使用。AWS SFTP 是一种网络协议，支持 SSH 的完全安全和身份验证功能。使用此协议，您可以对用户身份、权限和密钥进行精细控制，也可以使用 IAM 策略来管理访问权限。要将支持 SFTP 的服务器与您的 Amazon S3 存储桶相关联，请务必先创建支持 SFTP 的服务器。然后设置用户账户，并将服务器与 Amazon S3 通用存储桶关联。有关此过程的介绍，请参阅 *AWS 博客*中的 [AWS Transfer for SFTP – Fully Managed SFTP Service for Amazon S3](https://aws.amazon.com/blogs/aws/new-aws-transfer-for-sftp-fully-managed-sftp-service-for-amazon-s3/)。

## Amazon S3 控制台
<a name="accessing-aws-management-console"></a>

控制台是基于 Web 的用户界面，用于管理 Amazon S3 和 AWS 资源。使用 Amazon S3 控制台，您可以轻松访问存储桶并修改存储桶属性。您还可以使用控制台 UI 执行大多数存储桶操作，而不必编写任何代码。

如果您已注册 AWS 账户，您可以通过登录 Amazon S3 控制台并从 Amazon S3 控制台主页中选择 **S3** 来访问 Amazon S3 控制台。您也可以使用此链接直接访问 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

## AWS CLI
<a name="accessing-aws-cli"></a>

可以使用 AWS CLI，在系统的命令行中发出命令或构建脚本来执行 AWS（包括 S3）任务。例如，如果您需要访问多个存储桶，则可以使用 AWS CLI 自动执行常见任务和重复任务，从而节省时间。随着组织的扩大，常见操作的可脚本化和可重复性是经常考虑的因素。

[AWS CLI](https://aws.amazon.com/cli/) 针对大量 AWS 服务 提供了相关命令。AWS CLI 在 Windows、macOS 和 Linux 上受支持。要开始使用，请参阅 [https://docs.aws.amazon.com/cli/latest/userguide/](https://docs.aws.amazon.com/cli/latest/userguide/)。有关 Amazon S3 命令的更多信息，请参阅 *AWS CLI 一般参考*中的 [s3api](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/index.html) 和 [s3control](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3control/index.html)。

## AWS SDK
<a name="accessing-aws-sdks"></a>

AWS 提供的 SDK（软件开发工具包）包含各种编程语言和平台（Java、Python、Ruby、.NET、iOS、Android 等）的库和示例代码。AWS SDK 提供便捷的方式来创建对 S3 和 AWS 的编程访问。Amazon S3 是一项 REST 服务。您可以使用 AWS SDK 库向 Amazon S3 发送请求，该库包装了底层 Amazon S3 REST API 并简化了编程任务。例如，SDK 负责计算签名、加密签名请求、管理错误和自动重试请求等任务。有关 AWS SDK 的信息（包括如何下载及安装），请参阅 [适用于 AWS 的工具 ](https://aws.amazon.com/tools/)。

与 Amazon S3 的每一次交互都是经身份验证的或匿名的。如果您使用 AWS SDK，库根据您提供的密钥计算用于身份验证的签名。有关如何向 Amazon S3 发出请求的更多信息，请参阅 [Making requests](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

## Amazon S3 REST API
<a name="AccessingUsingRESTAPI"></a>

Amazon S3 架构的设计与编程语言无关，使用 AWS 支持的接口来存储和检索对象。您可以访问 S3 和 AWS 以编程方式使用 Amazon S3 REST API。REST API 是面向 Amazon S3 的 HTTP 接口。借助 REST API，您可以使用标准的 HTTP 请求创建、提取和删除存储桶和对象。

要使用 REST API，您可以借助任何支持 HTTP 的工具包。只要对象是匿名可读的，您甚至可以使用浏览器来提取它们。

REST API 使用标准的 HTTP 标头和状态代码，以使标准的浏览器和工具包按预期工作。在某些区域中，我们向 HTTP 添加了功能 (例如，我们添加了标头来支持访问控制)。在这些情况下，我们已尽最大努力使添加的新功能与标准的 HTTP 使用样式相匹配。

如果您在应用程序中直接调用 REST API，您必须编写代码来计算签名并将它添加到请求中。有关如何向 Amazon S3 发出请求的更多信息，请参阅《Amazon S3 API 参考》**中的 [Making requests](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

# 通用存储桶的虚拟托管
<a name="VirtualHosting"></a>

虚拟托管是指从单个 Web 服务器为多个网站提供服务的做法。区分 Amazon S3 REST API 请求中的站点的一种方法是通过使用请求-URI 的显式主机名，而不只是 URI 的路径名称部分。普通的 Amazon S3 REST 请求使用“请求-URI”路径的第一个斜杠分隔部分指定存储桶。相反，您可以通过使用 HTTP `Host` 标头，在 REST API 调用中使用 Amazon S3 虚拟托管对通用存储桶进行寻址。事实上，Amazon S3 会将 `Host` 解释为可在 `https://bucket-name.s3.region-code.amazonaws.com` 上自动访问大多数存储桶（对于有限类型的请求）。有关 Amazon S3 区域和端点的完整列表，请参阅《Amazon Web Services 一般参考》**中的 [Amazon S3 端点和限额](https://docs.aws.amazon.com/general/latest/gr/s3.html)。

虚拟托管还有其他好处。通过使用注册域名来命名您的存储桶，并将该名称设为 Amazon S3 的 DNS 别名，您可以完全自定义 Amazon S3 资源的 URL，例如：`http://my.bucket-name.com/`。您还可以发布到存储桶的虚拟服务器的“根目录”。此功能很重要，因为许多现有应用程序在此标准位置搜索文件。例如，`favicon.ico`、`robots.txt` 和 `crossdomain.xml` 都应可在根目录下找到。

**重要**  
当通过 SSL 使用虚拟托管类型通用存储桶时，SSL 通配符证书仅匹配不包含句点 (`.`) 的存储桶。要解决此问题，请使用 HTTP 或编写自己的证书验证逻辑。有关更多信息，请参阅 *AWS 新闻博客* 上的 [Amazon S3 路径弃用计划](https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/)。

**Topics**
+ [

## 路径类型请求
](#path-style-access)
+ [

## 虚拟托管类型请求
](#virtual-hosted-style-access)
+ [

## HTTP `Host` 标头桶规范
](#VirtualHostingSpecifyBucket)
+ [

## 示例
](#VirtualHostingExamples)
+ [

## 使用 CNAME 记录自定义 Amazon S3 URL
](#VirtualHostingCustomURLs)
+ [

## 如何将主机名与 Amazon S3 桶关联
](#VirtualHostingCustomURLsHowTo)
+ [

## 限制
](#VirtualHostingLimitations)
+ [

## 向后兼容性
](#VirtualHostingBackwardsCompatibility)

## 路径类型请求
<a name="path-style-access"></a>

目前，Amazon S3 在所有 AWS 区域中同时支持虚拟托管类型和路径类型 URL 访问。但是，路径类型 URL 将来会停用。有关更多信息，请参阅下面的**重要**提示。

在 Amazon S3 中，路径类型 URL 使用以下格式：

```
https://s3.region-code.amazonaws.com/bucket-name/key-name
```

例如，如果您在美国西部（俄勒冈）区域中创建一个名为 `amzn-s3-demo-bucket1` 的存储桶，并希望访问该存储桶中的 `puppy.jpg` 对象，则可使用以下路径类型 URL：

```
https://s3.us-west-2.amazonaws.com/amzn-s3-demo-bucket1/puppy.jpg
```

**重要**  
更新（2020 年 9 月 23 日）– 为确保客户有时间转换到虚拟托管类型 URL，我们决定推迟弃用路径类型 URL。有关更多信息，请参阅 *AWS 新闻博客*中的 [Amazon S3 路径弃用计划 – 案例的其余部分](https://aws.amazon.com/blogs/aws/amazon-s3-path-deprecation-plan-the-rest-of-the-story/)。

**警告**  
托管将通过 Web 浏览器访问的网站内容时，请避免使用路径样式 URL，因为这可能会干扰浏览器的同源安全模型。要托管网站内容，我们建议您使用 S3 网站端点或 CloudFront 分配。有关更多信息，请参阅[网站端点](WebsiteEndpoints.md)和《AWS 透视指导模式》**中的[将基于 React 的单页应用程序部署到 Amazon S3 和 CloudFront](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-a-react-based-single-page-application-to-amazon-s3-and-cloudfront.html)。

## 虚拟托管类型请求
<a name="virtual-hosted-style-access"></a>

在虚拟托管类型 URI 中，存储桶名称是 URL 中域名的一部分。

Amazon S3 虚拟托管类型 URL 使用以下格式：

```
https://bucket-name.s3.region-code.amazonaws.com/key-name
```

在此示例中，`amzn-s3-demo-bucket1` 为存储桶名称，美国西部（俄勒冈）为区域，`puppy.png` 为密钥名称：

```
https://amzn-s3-demo-bucket1.s3.us-west-2.amazonaws.com/puppy.png
```

## HTTP `Host` 标头桶规范
<a name="VirtualHostingSpecifyBucket"></a>

只要您的 `GET` 请求不使用 SSL 终端节点，您就可以通过使用 HTTP `Host` 标头为请求指定存储桶。REST 请求中的 `Host` 标头解释如下：
+ 如果 `Host` 标头被省略，或其值为 `s3.region-code.amazonaws.com`，则该请求的存储桶将是请求-URI 的第一个斜杠分隔的部分，而且该请求的键将是请求-URI 的其余部分。这是常用方法，如本部分第一个和第二个示例所示。省略 `Host` 标头仅对于 HTTP 1.0 请求有效。
+ 否则，如果 `Host` 标头的值以 `.s3.region-code.amazonaws.com` 结尾，则存储桶名称是 `Host` 标头值中从开头到 `.s3.region-code.amazonaws.com` 的部分。该请求的键值为“Request-URI”。此解释将存储桶公开为 `.s3.region-code.amazonaws.com` 的子域，如本部分第三和第四个示例所示。
+ 否则，请求的存储桶是 `Host` 标头的小写值，请求的键值是“Request-URI”。如果注册的 DNS 名称与桶名称相同，并且已将该名称配置为 Amazon S3 的规范名称 (CNAME) 别名，则此解释很有用。注册域名和配置 CNAME DNS 记录的过程不在本指南的范围内，但本节中的最后一个示例展示了结果。

## 示例
<a name="VirtualHostingExamples"></a>

本节提供示例 URL 和请求。

**Example – 路径类型 URL 和请求**  
此示例使用以下内容：  
+ 存储桶名称 – `example.com`
+ 区域 – 美国东部（弗吉尼亚北部） 
+ 键名 – `homepage.html`
URL 如下：  

```
1. http://s3.us-east-1.amazonaws.com/example.com/homepage.html
```
请求如下：  

```
1. GET /example.com/homepage.html HTTP/1.1
2. Host: s3.us-east-1.amazonaws.com
```
具有 HTTP 1.0 且省略 `Host` 标头的请求如下：  

```
1. GET /example.com/homepage.html HTTP/1.0
```

有关 DNS 兼容名称的信息，请参阅[限制](#VirtualHostingLimitations)。有关密钥的更多信息，请参阅[密钥](Welcome.md#BasicsKeys)。

**Example – 虚拟托管类型 URL 和请求**  
此示例使用以下内容：  
+ **桶名称** ‐ `amzn-s3-demo-bucket1` 
+ **区域** – 欧洲（爱尔兰） 
+ **键名** ‐ `homepage.html`
URL 如下：  

```
1. http://amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com/homepage.html
```
请求如下：  

```
1. GET /homepage.html HTTP/1.1
2. Host: amzn-s3-demo-bucket1.s3.eu-west-1.amazonaws.com
```

**Example – CNAME 别名方法**  
要使用此方法，您必须将 DNS 名称配置为 `bucket-name.s3.us-east-1.amazonaws.com` 的 CNAME 别名。有关更多信息，请参阅 [使用 CNAME 记录自定义 Amazon S3 URL](#VirtualHostingCustomURLs)。  
此示例使用以下内容：  
+ 存储桶名称 – `example.com` 
+ **键名称** ‐ `homepage.html`
URL 如下：  

```
1. http://www.example.com/homepage.html
```
示例如下：  

```
1. GET /homepage.html HTTP/1.1
2. Host: www.example.com
```

## 使用 CNAME 记录自定义 Amazon S3 URL
<a name="VirtualHostingCustomURLs"></a>

根据您的需要，您可能不希望 `s3.region-code.amazonaws.com` 显示在网站或服务中。例如，如果您在 Amazon S3 上托管网站映像，您可能会首选 `http://images.example.com/`，而不是 `http://images.example.com.s3.us-east-1.amazonaws.com/`。具有 DNS 兼容名称的任何存储桶都可按以下方式引用：` http://BucketName.s3.Region.amazonaws.com/[Filename]`，例如 `http://images.example.com.s3.us-east-1.amazonaws.com/mydog.jpg`。通过使用 CNAME，您可以将 `images.example.com` 映射到 Amazon S3 主机名，使上面的 URL 变成 `http://images.example.com/mydog.jpg`。

存储桶名称必须与 CNAME 相同。例如，如果您创建一个 CNAME 以将 `images.example.com` 映射到 `images.example.com.s3.us-east-1.amazonaws.com`，则 `http://images.example.com/filename` 和 `http://images.example.com.s3.us-east-1.amazonaws.com/filename` 两者将相同。

CNAME DNS 记录应将您的域名别名设置为适当的虚拟托管类型主机名。例如，如果存储桶名称和域名是 `images.example.com` 而存储桶位于美国东部（弗吉尼亚北部）区域中，则 CNAME 记录的别名应为 `images.example.com.s3.us-east-1.amazonaws.com`。

```
1. images.example.com CNAME 			images.example.com.s3.us-east-1.amazonaws.com.
```

Amazon S3 使用主机名来确定存储桶名称。所以 CNAME 和存储桶名称必须相同。例如，假定您配置了 `www.example.com` 作为 `www.example.com.s3.us-east-1.amazonaws.com` 的别名记录。当您访问`http://www.example.com`时，Amazon S3 会收到如以下所示的请求：

**Example**  

```
1. GET / HTTP/1.1
2. Host: www.example.com
3. Date: date
4. Authorization: signatureValue
```

Amazon S3 仅查看原始主机名 `www.example.com` 且不知道用于解决请求的 CNAME 映射。

您可以在 CNAME 别名中使用任何 Amazon S3 端点。例如，`s3.ap-southeast-1.amazonaws.com` 可用于 CNAME 别名中。有关端点的更多信息，请参阅《Amazon S3 API Reference》**中的 [Request endpoints](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTAPI.html)。要使用自定义域创建静态网站，请参阅[教程：使用注册到 Route 53 的自定义域配置静态网站](website-hosting-custom-domain-walkthrough.md)。

**重要**  
将自定义 URL 与 CNAME 结合使用时，您需要确保对于您配置的任何 CNAME 或别名记录都存在匹配的桶。例如，如果您为 `www.example.com` 和 `login.example.com` 创建 DNS 条目以使用 S3 发布 Web 内容，将需要同时创建两个桶 `www.example.com` 和 `login.example.com`。  
当 CNAME 或别名记录配置为指向没有匹配桶的 S3 端点时，任何 AWS 用户都可以创建该桶并在配置的别名下发布内容，即使拥有权不同也是如此。  
出于同样的原因，我们建议您在删除桶时更改或移除相应的 CNAME 或别名。

## 如何将主机名与 Amazon S3 桶关联
<a name="VirtualHostingCustomURLsHowTo"></a>

**使用 CNAME 将主机名与 Amazon S3 桶关联**

1. 选择属于您控制的域的主机名。

   本示例使用 `images` 域的 `example.com` 子域。

1. 创建与主机名匹配的存储桶。

   在本示例中，主机名和存储桶名称是 `images.example.com`。存储桶名称必须与主机名*精确* 匹配。

1. 创建一条 CNAME DNS 记录，它将主机名定义为 Amazon S3 桶的别名。

   例如：

   `images.example.com CNAME images.example.com.s3.us-west-2.amazonaws.com`
**重要**  
出于请求路由原因，CNAME DNS 记录必须严格按照上述示例所示进行定义。否则，它可能显示为正常运行，但将最终导致不可预测的行为。

   配置 CNAME DNS 记录的过程取决于您的 DNS 服务器或 DNS 提供商。有关特定信息，请参阅您的服务器文档或与您的供应商联系。

## 限制
<a name="VirtualHostingLimitations"></a>

 Amazon S3 的 SOAP API 不适用于新客户，并将于 2025 年 8 月 31 日接近使用寿命终止（EOL）。我们建议您使用 REST API 或 AWS 开发工具包。

## 向后兼容性
<a name="VirtualHostingBackwardsCompatibility"></a>

以下各节介绍了 Amazon S3 向后兼容性的各个方面，这些方面与路径类型和虚拟托管类型 URL 请求相关。

### 传统终端节点
<a name="s3-legacy-endpoints"></a>

某些区域支持传统终端节点。您可能会在服务器访问日志或 AWS CloudTrail 日志中看到这些端点。有关更多信息，请查看以下信息。有关 Amazon S3 区域和端点的完整列表，请参阅《Amazon Web Services 一般参考》**中的 [Amazon S3 端点和限额](https://docs.aws.amazon.com/general/latest/gr/s3.html)。

**重要**  
尽管您可能会在日志中看到传统终端节点，但我们建议您始终使用标准终端节点语法访问存储桶。  
Amazon S3 虚拟托管类型 URL 使用以下格式：  

```
https://bucket-name.s3.region-code.amazonaws.com/key-name
```
在 Amazon S3 中，路径类型 URL 使用以下格式：  

```
https://s3.region-code.amazonaws.com/bucket-name/key-name
```

#### s3‐区域
<a name="s3-dash-region"></a>

一些较旧的 Amazon S3 区域支持在 `s3` 和区域代码之间包含短划线 (`-`) 而不是点（例如 `s3.us-west-2`）的端点（例如 `s3‐us-west-2`）。如果您的存储桶位于这些区域之一，您可能会在服务器访问日志或 CloudTrail 日志中看到以下终端节点格式：

```
https://bucket-name.s3-region-code.amazonaws.com
```

在此示例中，存储桶名称为 amzn-s3-demo-bucket1，区域为美国西部（俄勒冈）：

```
https://amzn-s3-demo-bucket1.s3-us-west-2.amazonaws.com
```

#### 传统全局端点
<a name="deprecated-global-endpoint"></a>

对于某些区域，可以使用传统全局端点来构建未指定特定于区域的端点的请求。传统全局终端节点如下所示：

```
bucket-name.s3.amazonaws.com
```

在服务器访问日志或 CloudTrail 日志中，您可能会看到使用传统全局终端节点的请求。在此示例中，桶名称为 `amzn-s3-demo-bucket1`，传统全局端点为：

```
https://amzn-s3-demo-bucket1.s3.amazonaws.com
```

**美国东部（弗吉尼亚州北部）的虚拟托管类型请求**  
原定设置情况下，使用传统全局端点发出的请求会转到美国东部（弗吉尼亚州北部）。因此，传统全局终端节点有时用于替代美国东部（弗吉尼亚北部）的区域终端节点。如果您在美国东部（弗吉尼亚州北部）创建桶并使用全局端点，则原定设置情况下，Amazon S3 会将您的请求路由到此区域。

**其他区域的虚拟托管类型请求**  
传统全局端点也用于其他受支持的区域中的虚拟托管类型请求。当您在 2019 年 3 月 20 日之前发布的区域中创建桶并使用传统全局端点时，Amazon S3 将更新 DNS 记录以将请求重新路由到正确的位置，这可能会花费一些时间。同时，将应用原定设置规则，您的虚拟托管类型请求将转到美国东部（弗吉尼亚州北部）区域。然后，Amazon S3 将使用 HTTP 307 临时重定向将它重定向到正确的区域。

对于在 2019 年 3 月 20 日之后发布的区域中的 S3 桶，DNS 服务器不会将您的请求直接路由到您的桶所在的 AWS 区域。它而是会返回 HTTP 400 错误请求错误。有关更多信息，请参阅《Amazon S3 API 参考》**中的 [Making requests](https://docs.aws.amazon.com/AmazonS3/latest/API/MakingRequests.html)。

**路径类型请求**  
对于美国东部（弗吉尼亚州北部）区域，可以将传统全局端点用于路径类型请求。

对于所有其他区域，路径类型语法要求您在尝试访问存储桶时使用特定于区域的终端节点。如果您尝试访问具有传统全局端点的存储桶或与存储桶所在区域的端点不同的其它端点，您会收到 HTTP 响应代码“301 永久重定向”错误和一条消息（指示您资源的正确 URI）。例如，如果您将 `https://s3.amazonaws.com/bucket-name` 用于在美国西部（俄勒冈州）区域创建的存储桶，您将收到“HTTP 301 永久重定向”错误。