CORS机制

概念阐述

跨域资源共享(CORS, Cross-Origin Resource Sharing)允许Web服务器进行跨域访问控制,使浏览器可以更安全地进行跨域数据传输。

场景描述

当用户需要从浏览器上跨域发送REST请求时就有可能要用到CORS机制,接收跨域请求的微服务需要开启CORS支持。

配置说明

CORS功能在microservice.yaml文件中配置,配置项见下表所述。

配置项默认值取值范围是否必选含义注意
servicecomb.cors.enabledfalsetrue/false是否开启CORS功能-
servicecomb.cors.origin-Access-Control-Allow-Origin-
servicecomb.cors.allowCredentialsfalsetrue/falseAccess-Control-Allow-Credentials根据CORS标准,当Access-Control-Allow-Credentials设置为true时,Access-Control-Allow-Origin不可设置为"",否则将会抛出异常
servicecomb.cors.allowedHeader-Access-Control-Allow-Headers多个值使用逗号分隔
servicecomb.cors.allowedMethod-Access-Control-Allow-Methods多个值使用逗号分隔
servicecomb.cors.exposedHeader-Access-Control-Expose-Headers多个值使用逗号分隔
servicecomb.cors.maxAge(0,2147483647],整型Access-Control-Max-Age单位是秒,如果用户不配置此项,则CORS应答中没有Access-Control-Max-Age

示例代码

  1. servicecomb:
  2. cors:
  3. enabled: true
  4. origin: "*"
  5. allowCredentials: false
  6. allowedMethod: PUT,DELETE
  7. maxAge: 3600