SpringGateway统一解决跨域问题:
我的springGateway版本
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>3.1.3</version>
</dependency>
1:在各个服务不要使用(会跨域失败)
@CrossOrigin
2:网关代码(corsConfiguration.setAllowCredentials(true);不能和addAllowedOrigin("*")同时存在)
@Configuration
public class GatewayConfig {
@Bean
public CorsWebFilter corsWebFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.addAllowedOrigin("*");
//这一行一定不能打开,会与addAllowedOrigin("*")发生冲突
// corsConfiguration.setAllowCredentials(true);
source.registerCorsConfiguration("/**",corsConfiguration);
return new CorsWebFilter(source);
}
}