SpringCloudGateWay之网关跨域问题解决
发布时间:2020-12-15 07:14:33 所属栏目:Java 来源:网络整理
导读:应用场景: 所有的微服务是通过网关这个入口,在和前端对接口时,必然设计到有关跨域的问题。关于服务端跨域有很多方案,可以加注解(指定具体的路径允许跨域),也可以统一配置。 另外如果不在网关入口这配置,势必会造成一个很大的影响,那就是前端通过网关入
应用场景: 另外如果不在网关入口这配置,势必会造成一个很大的影响,那就是前端通过网关入口调用其它微服务,通常会出现如下错误: Access to XMLHttpRequest at 'xxx' from origin ' has been been blocked by CORS policy 核心代码(解决方案): import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; import org.springframework.web.util.pattern.PathPatternParser; @Configuration public class CorsConfig { @Bean public CorsWebFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); source.registerCorsConfiguration("/**",buildConfig()); return CorsWebFilter(source); } private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = CorsConfiguration(); //在生产环境上最好指定域名,以免产生跨域安全问题 corsConfiguration.addAllowedOrigin(*); corsConfiguration.addAllowedHeader(); corsConfiguration.addAllowedMethod(); return corsConfiguration; } } SpirngCloud GateWay解决方案: 注解解决方案: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |