SpringCloud Gateway跨域配置代码实例
这篇文章主要介绍了SpringCloudGateway跨域配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Springboot版本:2.1.8.RELEASE
SpringCloud版本:Greenwich.SR2
yml配置:
spring: cloud: gateway: globalcors: cors-configurations: '[/**]': #允许携带认证信息 #允许跨域的源(网站域名/ip),设置*为全部 #允许跨域请求里的head字段,设置*为全部 #允许跨域的method,默认为GET和OPTIONS,设置*为全部 #跨域允许的有效期 allow-credentials:true allowed-origins: -"http://localhost:13009" -"http://localhost:13010" allowed-headers:"*" allowed-methods: -OPTIONS -GET -POST max-age:3600 #允许response的head信息 #默认仅允许如下6个: #Cache-Control #Content-Language #Content-Type #Expires #Last-Modified #Pragma #exposed-headers:
配置类:org.springframework.cloud.gateway.config.GlobalCorsProperties
网上有很多人说这样配无效,但我测试下来是OK的,如果真的无效,可以手动去装配Cros配置:
packagecom.longge.gateway.configuration; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.boot.autoconfigure.condition.ConditionalOnBean; importorg.springframework.cloud.gateway.config.GlobalCorsProperties; importorg.springframework.context.annotation.Bean; importorg.springframework.context.annotation.Configuration; importorg.springframework.web.cors.reactive.CorsWebFilter; importorg.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; importorg.springframework.web.util.pattern.PathPatternParser; /** *@authorrogeryang *@date11/21/2019 */ @Configuration @ConditionalOnBean(GlobalCorsProperties.class) publicclassCorsAutoConfiguration{ @Autowired privateGlobalCorsPropertiesglobalCorsProperties; @Bean publicCorsWebFiltercorsFilter(){ UrlBasedCorsConfigurationSourcesource=newUrlBasedCorsConfigurationSource(newPathPatternParser()); globalCorsProperties.getCorsConfigurations().forEach((path,corsConfiguration)->source.registerCorsConfiguration(path,corsConfiguration)); returnnewCorsWebFilter(source); } }
当然,我们更推荐在Nginx等中间件去做跨域的处理,业务服务就应该关注业务。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。