zuul网关和微服务持跨域解决

解决跨域问题
一般只需要在服务中配置以下代码就可以解决

@Bean
	public WebMvcConfigurer corsConfigurer() {
		return new WebMvcConfigurer() {
			@Override
			public void addCorsMappings(CorsRegistry registry) {
				registry.addMapping("/**")
						.allowedOrigins("*")
						.allowedMethods("*");

			}
		};
	}
	

或者加注解:@CrossOrigin
如果使用的是网关则需要在网关中配置(网关配置完成后不需要在独立的服务再次配置)

    @Bean
    public CorsFilter corsFilter() {
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedMethod("*");
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(source);
    }

如果有特殊情况既需要在网关中配置,也需要在独立的服务中配置,就需要在网关的配置文件中加以下配置

zuul:
  ignoredServices: '*'
  sensitiveHeaders: Access-Control-Allow-Origin
  ignoredHeaders: Access-Control-Allow-Origin

这样大多数情况就都可以解决了。

你可能感兴趣的:(zuul网关和微服务持跨域解决)