Spring Cloud Gateway跨域配置

Spring Cloud Gateway跨域配置

正确配置方法

    /**
     * 配置跨域
     * @return
     */
    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        // cookie跨域
        config.setAllowCredentials(Boolean.TRUE);
        config.addAllowedMethod("*");
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        // 配置前端js允许访问的自定义响应头
        config.addExposedHeader("setToken");

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config);

        return new CorsWebFilter(source);
    }

配置不生效方法

  • 官方推荐配置
  • 自定义实现GlobalFilter无效

注意

如果下游服务也配置了跨域处理,会发生配置重复

你可能感兴趣的:(SpringCloud)