zuul的跨域问题及解决

前言:涉及到跨域问题,我们首先想到的是在被调用的类或方法上增加@CrossOrign注解,这节我们主要讲解在zuul里增加CorsFilter过滤器。
在api-gateway服务中新建一个CorsConfig类,代码如下

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

import java.util.Arrays;

@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter(){
        final UrlBasedCorsConfigurationSource source=new UrlBasedCorsConfigurationSource();
        final CorsConfiguration config=new CorsConfiguration();
        config.setAllowCredentials(true);
        config.setAllowedHeaders(Arrays.asList("*"));
        config.setAllowedOrigins(Arrays.asList("*"));  //http:www.a.com
        config.setAllowedMethods(Arrays.asList("*"));
        config.setMaxAge(300l);
        source.registerCorsConfiguration("/",config);
        return new CorsFilter(source);
    }
}

你可能感兴趣的:(微服务)