一般spring boot对跨域的解决方案是在类或者方法上加@CrossOrigin注解
对于单个节点,要实现跨域,通过这个注解:
@CrossOrigin(allowCredentials = "true")
而zuul提供了一种新的解决方案,通过增加CrossFilter过滤器,代码如下:
// Cors: C - cross O - Origin R - Resource S - Sharing
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
config.setAllowedOrigins(Arrays.asList("*")); //http://www.a.com
config.setAllowedHeaders(Arrays.asList("*"));
config.setAllowedMethods(Arrays.asList("*"));
config.setMaxAge(300l);
source.registerCorsConfiguration("/**", config);
return new CorsFilter();
}
}