基于ServiceComb开发微服务如何解决跨域CORS问题

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

cors:
    enabled: true
    origin: "http://*.*.yourcompany.com"
    allowCredentials: true
    allowedHeader: "appid,content-type"
    allowedMethod: GET,POST,PUT,DELETE
    maxAge: 3600  

示例代码2

 
servicecomb:
  cors:
    enabled: true
    origin: "*"
    allowCredentials: false
    allowedMethod: PUT,DELETE
    maxAge: 3600
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值