

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为您的存储桶设置跨源资源共享 (CORS)
<a name="access-grant-cors"></a>

您必须为 Web 应用程序使用的所有存储分区设置跨源资源共享 (CORS)。*CORS 配置*是定义规则的文档，这些规则用于识别您将允许访问存储桶的来源。有关 CORS 的更多信息，请参阅[配置跨域资源共享 (CORS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html?icmpid=docs_amazons3_console)。

**重要**  
如果您未设置 CORS，则最终用户在尝试访问您的 Web 应用程序上的位置时会收到错误消息。

**为您的 Amazon S3 存储桶设置跨源资源共享 (CORS)**

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 从左侧导航面板中选择 **Buckets**，在搜索对话框中搜索您的存储桶，然后选择**权限**选项卡。

1. 在**跨源资源共享 (CORS)** 中，选择**编辑**并粘贴以下代码。*WebAppEndpoint*替换为您的 Web 应用程序的实际访问端点。这可以是创建 Web 应用程序时创建的 VPC 托管或公共访问终端节点，也可以是自定义访问终端节点（如果您创建一个）。确保不要在尾部输入斜杠，因为这样做会导致用户尝试登录您的 Web 应用程序时出错。
   + 不正确的例子：`https://webapp-c7bf3423.transfer-webapp.us-east-2.on.aws/`
   + 正确的例子：
     + `https://webapp-c7bf3423.transfer-webapp.us-east-2.on.aws`
     + `https://vpce-05668789767a-fh45z079.vpce-mq.transfer-webapp.us-east-1.on.aws`

   如果您要将存储桶重复用于多个 Web 应用程序，请将其终端节点添加到列表中。`AllowedOrigins`

   ```
   [
     {
       "AllowedHeaders": [
         "*"
       ],
       "AllowedMethods": [
         "GET",
         "PUT",
         "POST",
         "DELETE",
         "HEAD"
       ],
       "AllowedOrigins": [
         "https://WebAppEndpoint"
       ],
       "ExposeHeaders": [
         "last-modified",
          "content-length",
         "etag",
         "x-amz-version-id",
         "content-type",
         "x-amz-request-id",
         "x-amz-id-2",
         "date",
         "x-amz-cf-id",
         "x-amz-storage-class",
         "access-control-expose-headers"
        ],
       "MaxAgeSeconds": 3000
     }
   ]
   ```

1.  选择 “**保存更改**” 以更新 CORS。

要测试您的 CORS 配置，请参阅[测试 CORS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/testing-cors.html)。