跨域资源共享插件说明
概述
出于安全性考虑,浏览器会限制从页面脚本内发起的跨域请求,此时页面只能访问当前域的资源。CORS允许浏览器向跨域服务器发送XMLHttpRequest请求,从而实现跨域访问。更多跨域访问的说明请参见配置跨域访问API。
跨域资源共享插件为跨域访问提供指定预检请求头和响应头、自动创建跨域预检请求API的扩展能力,可快速、灵活的实现API的跨域访问。
使用限制
- 同一API分组下,发布在同一环境且请求路径相同的所有API,只能绑定同一个跨域资源共享插件。
- 若API开启了“支持CORS”功能的同时,也绑定了跨域资源共享插件,则以绑定的插件为准。
- 若某个请求路径下有OPTIONS方法的API,则在OPTIONS方法API所在发布环境中,该请求路径的所有API均不允许绑定跨域资源共享插件。
- 为API绑定插件时,API的请求方法必须为allow_methods中允许的请求方法。
配置参数说明
参数 |
配置说明 |
---|---|
allow origin |
Access-Control-Allow-Origin响应头,指定允许访问API的外域URI,多个URI之间使用英文逗号隔开。 对于未携带身份凭证的请求,可以把参数值设置为“*”,表示允许来自所有域的访问请求。 |
allow methods |
Access-Control-Allow-Methods响应头,指定允许使用的HTTP请求方法,多个请求方法之间使用英文逗号隔开。 |
allow headers |
Access-Control-Allow-Headers响应头,指定XMLHttpRequest请求中允许携带的请求头字段,多个请求头之间使用英文逗号隔开。 其中,简单请求头Accept、Accept-Language、Content-Language、Content-Type(取值仅限为application/x-www-form-urlencoded、multipart/form-data、text/plain时)默认允许在请求中携带,无需在该参数中设置。 |
expose headers |
Access-Control-Expose-Headers响应头,指定XMLHttpRequest请求响应中允许携带的响应头字段,多个响应头之间使用英文逗号隔开。 其中,基本响应头Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma默认允许在响应中携带,无需在该参数中设置。 |
max age |
Access-Control-Max-Age响应头,指定本次预检请求的有效期,单位为秒。在有效期内,无需再次发出预检请求。 |
allow credentials |
Access-Control-Allow-Credentials响应头,定XMLHttpRequest请求中是否允许携带Cookie。
|
脚本配置示例
{ "allow_origin": "*", "allow_methods": "GET,POST,PUT", "allow_headers": "Accept-Ranges,Cache-Control", "expose_headers": "X-Request-Id,X-Apig-Latency", "max_age": 172800, "allow_credentials": true }