使用配置 CORS AWS CLI - Amazon Lightsail

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

使用配置 CORS AWS CLI

您可以使用带--cors参数的 Lightsail 存储分区配置 CORS AWS CLI 。此参数接受包含您的 CORS 配置的 JSON 文件。有关 CORS 配置元素的更多信息,请参阅CORS 配置的元素

应用 CORS 配置

以下过程显示如何通过指定 JSON 文件将 CORS 配置应用于存储桶。有关更多配置示例,请参阅跨域资源共享配置示例

要为存储桶配置 CORS,请使用 AWS CLI
  1. 创建一个包含您的 CORS 配置的 JSON 文件。例如,创建一个名为的文件cors-config.json,其中包含以下内容:

    { "CORSRules": [ { "AllowedOrigins": ["https://example.com"], "AllowedMethods": ["GET", "PUT", "POST"], "AllowedHeaders": ["*"], "MaxAgeSeconds": 3000 } ] }
  2. 使用 AWS CLI 将 CORS 配置应用于您的存储桶:

    aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --cors file://cors-config.json
  3. 验证 CORS 配置是否已成功应用:

    aws lightsail get-buckets --bucket-name amzn-s3-demo-bucket --include-cors
注意

amzn-s3-demo-bucket替换为你的 Lightsail 存储桶的名称。

跨域资源共享配置示例

以下示例显示了不同用例的常用 CORS 配置。

示例 1:允许所有来源和方法

此配置允许所有源使用任何 HTTP 方法访问您的存储桶:

{ "CORSRules": [ { "AllowedOrigins": ["*"], "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"], "AllowedHeaders": ["*"], "MaxAgeSeconds": 3000 } ] }
示例 2:限制到特定域

此配置仅允许来自https://mywebsite.com以下人员的请求:

{ "CORSRules": [ { "AllowedOrigins": ["https://mywebsite.com"], "AllowedMethods": ["GET", "PUT"], "AllowedHeaders": ["Authorization", "Content-Type"], "ExposeHeaders": ["ETag"], "MaxAgeSeconds": 3600 } ] }
示例 3:不同来源的多条规则

此配置为不同的来源定义了不同的规则:

{ "CORSRules": [ { "AllowedOrigins": ["https://mywebsite.com"], "AllowedMethods": ["GET", "PUT", "POST"], "AllowedHeaders": ["*"], "MaxAgeSeconds": 3600 }, { "AllowedOrigins": ["https://cdn.mywebsite.com"], "AllowedMethods": ["GET"], "AllowedHeaders": ["Authorization"], "MaxAgeSeconds": 86400 } ] }

移除 CORS 配置

要从存储桶中删除 CORS 配置,请使用以下 AWS CLI 命令:

aws lightsail update-bucket --bucket-name amzn-s3-demo-bucket --cors '{"rules":[]}'
注意

amzn-s3-demo-bucket替换为你的 Lightsail 存储桶的名称。

删除 CORS 配置后,浏览器将阻止对您的存储桶的跨源请求。