The 'Access-Control-Allow-Origin' header contains multiple values'*, *', but only one is allowed.

问题的原因:是因为使用了两次跨域,

网关module使用了配置类配置跨域,另一个module使用了类+controller的方式配置跨域

 

 

 

解决:

1、检查是否配置nginx进行跨域

解决办法:https://www.cnblogs.com/zsg88/articles/11576324.html

2、检查controller类上是否有@CrossOrigin 注解

3、检查项目中的config包下 查看是不是两个项目都配置了跨域

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;

@Configuration
public class GulimallCorsConfiguration {

    @Bean
    public CorsWebFilter corsWebFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

        CorsConfiguration corsConfiguration = new CorsConfiguration();

        //1、配置跨域
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.setAllowCredentials(true);

        source.registerCorsConfiguration("/**",corsConfiguration);
        return new CorsWebFilter(source);
    }
}

  

 

  

 


 

posted @ 2020-11-05 13:40  keepsummer  阅读(2504)  评论(0编辑  收藏  举报