跨域资源访问(CORS)

本文提供了域资源访问的示例。

关于CORS跨域资源访问的基础知识可参考跨域资源共享(CORS)

插件配置

可以选择JSON者YAML格式的来配置您的插件,两种格式的schema相同,可以搜索yaml to json转换工具来进行配置格式的转换,yaml格式的模板见下表。

---
allowOrigins: api.foo.com,api2.foo.com,*.foo.com    # 允许的ORIGIN,用逗号分隔, 默认"*"
allowMethods: GET,POST,PUT                # 允许的方法,用逗号分隔
allowHeaders: X-Ca-RequestId            # 允许的请求头部,用逗号分隔
exposeHeaders: X-RC1,X-RC2              # 允许暴露给XMLHttpRequest对象的头,用逗号分隔
allowCredentials: true                    # 是否允许Cookie
maxAge: 172800
说明
  • 若使用API网关的公网二级域名调用API,仅线上环境支持跨域插件。因为用公网二级域名调用测试或预发环境时,需要在Header中加X-Ca-Stage参数来指定调用的环境,而浏览器在发送options请求时,不会带上X-Ca-Stage参数,会导致请求不到指定环境的API,插件也就无法生效了。

  • 如果API发布的是测试环境,可以通过绑定测试域名来实现跨域请求。