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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。