

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

# Lightsail 如何评估 CORS 配置
<a name="cors-how-evaluation-works"></a>

当 Lightsail 对象存储收到来自浏览器的预检请求后，它将为存储桶评估 CORS 配置，并使用第一个匹配传入浏览器请求的 CORS 规则来实现跨源请求。要使规则实现匹配，必须满足以下条件：
+ 请求中的 `Origin` 标头必须与 `AllowedOrigins` 元素中的源相匹配。
+ `Access-Control-Request-Method` 标头中指定的 HTTP 方法必须与 `AllowedMethods` 元素中的方法相匹配。
+ `Access-Control-Request-Headers` 标头中列出的标头必须与 `AllowedHeaders` 元素中的标头相匹配。

**注意**  
当您在存储桶上启用 CORS 时，存储桶权限仍将继续生效。CORS 配置仅决定浏览器是否允许跨源请求继续执行。有关更多信息，请参阅 [控制对 Lightsail 存储桶和对象的访问权限](amazon-lightsail-understanding-bucket-permissions.md)。

## CORS 配置的元素
<a name="cors-configuration-elements"></a>

CORS 配置是一个包含 CORS 规则数组的 JSON 文档。每条规则都定义了允许访问存储桶的源、允许使用的 HTTP 方法以及其他配置选项。

CORS 规则中可以包含以下元素：

**allowedOrigins**  
指定可以访问该存储桶的源。您可以使用通配符 (\$1) 来允许所有来源，或指定特定域名（如 `https://example.com`）。

**allowedMethods**  
指定可以用于指定源的 HTTP 方法。有效值包括 GET、PUT、POST、DELETE 和 HEAD。

**allowedHeaders**  
通过 Access-Control-Request-Headers 标头来指定预检 OPTIONS 请求中允许哪些标头。

**exposeHeaders**  
指定客户端应用程序可以访问响应中的哪些标头。

**id**  
CORS 规则的唯一标识符。

**maxAgeSeconds**  
指定浏览器可将预检请求的响应缓存的时间长度（以秒为单位）。

有关这些参数的更多信息，请参阅 *Amazon Lightsail API 参考*中的 [BucketCorsRule](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_BucketCorsRule.html)。