跳到主要内容

Cross-Origin Resource Sharing (CORS)

概述

CORS (Cross-Origin Resource Sharing) Policy 控制服务器上的资源如何可以从不同的来源访问。这对于依赖于托管在不同域上的 API 的 Web 应用程序至关重要。CORS 策略通过定义允许的方法、头部、凭据和缓存行为来确保安全的跨源请求。

配置详情

CORS Policy 包含几个控制访问和安全性的关键设置:

FieldDescriptionExample ValuesNotes
methods定义允许的 HTTP 方法。GET, HEAD, PUT, PATCH, POST, DELETE, OPTIONS, TRACE, CONNECT使用 * 允许所有方法。
origins指定允许的来源(域)。https://www.example.com:8000, https://www.google.com:80使用 * 允许所有来源。
allowHeaders列出允许的请求头。x-apim-key, Content-Type使用 * 允许所有头。
exposedHeaders定义应暴露给客户端的头。Content-Length, X-My-Custom-Header, X-Another-Custom-Header使用 * 暴露所有头。
allowCredential确定是否允许凭据(cookies,身份验证)。true / false如果为 true,则不能在 origins 或 allowHeaders 中使用 *。默认值:false。
maxAge预检请求缓存的持续时间(以秒为单位)。3600默认值:3600(1 小时)。

注意:

  • 除非必要,否则避免在 origins 中使用,以防止安全风险。
  • 如果不需要身份验证凭据,请将 allowCredential 设置为 false。
  • 仅在 exposedHeaders 中暴露必要的头。
  • 增加 maxAge 以减少不必要的预检请求。
  • 将允许的方法和头限制为仅所需的内容。