本篇内容主要讲解“spring cloud zuul如何解决跨域访问”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring cloud zuul如何解决跨域访问”吧!
spring zuul是不支持跨域的,需要对其进行配置
1.配置 application.yml
zuul:
sensitive-headers: Access-Control-Allow-Origin
ignored-headers: Access-Control-Allow-Origin,Vary,X-Frame-Options,token
猜测关键点在第二行,忽略Access-Control-Allow-Origin这种方式;
2.配置filter
@Configuration
public class GatewayCrosConfig {
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration = new CorsConfiguration();
// corsConfiguration.setAllowCredentials(true);
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedMethod("*");
source.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(source);
}
}
3. zuul 与cloud内部服务的跨域问题
zuul内部转发是不存在跨域问题的
4. spring mvc 配置跨域
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedHeaders("Content-Type","X-Requested-With","accept,Origin","Access-Control-Request-Method","Access-Control-Request-Headers","token")
.allowedMethods("*")
.allowedOrigins("*")
.allowCredentials(true);
}
}
通过设置cors配置来实现
到此,相信大家对“spring cloud zuul如何解决跨域访问”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!