本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用配置 CORS AWS CLI
您可以使用带--cors参数的 Lightsail 存储分区配置 CORS AWS CLI 。此参数接受包含您的 CORS 配置的 JSON 文件。有关 CORS 配置元素的更多信息,请参阅CORS 配置的元素。
应用 CORS 配置
以下过程显示如何通过指定 JSON 文件将 CORS 配置应用于存储桶。有关更多配置示例,请参阅跨域资源共享配置示例。
要为存储桶配置 CORS,请使用 AWS CLI
-
创建一个包含您的 CORS 配置的 JSON 文件。例如,创建一个名为的文件
cors-config.json,其中包含以下内容:{ "CORSRules": [ { "AllowedOrigins": ["https://example.com"], "AllowedMethods": ["GET", "PUT", "POST"], "AllowedHeaders": ["*"], "MaxAgeSeconds": 3000 } ] } -
使用 AWS CLI 将 CORS 配置应用于您的存储桶:
aws lightsail update-bucket --bucket-nameamzn-s3-demo-bucket--cors file://cors-config.json -
验证 CORS 配置是否已成功应用:
aws lightsail get-buckets --bucket-nameamzn-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-nameamzn-s3-demo-bucket--cors '{"rules":[]}'
注意
amzn-s3-demo-bucket替换为你的 Lightsail 存储桶的名称。
删除 CORS 配置后,浏览器将阻止对您的存储桶的跨源请求。