编程知识 cdmana.com

SpringCloud网关统一配置跨域

一、问题

跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对js施加的安全限制。

同源策略:是指协议、域名、端口都要相同,其中有一个不同都会产生跨域问题;

二、方法

一般有两种方式来解决:

  • 通过nginx来把前后端反向代理到同源下,这种方式适用到于线上。
  • 在开发阶段可以直接通过Gateway配置来统一放开限制,如:
@Configuration
public class LemallCorsConfiguration {
    @Bean
    public CorsWebFilter corsWebFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.setAllowCredentials(true);

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

版权声明
本文为[不再熬夜]所创,转载请带上原文链接,感谢
https://my.oschina.net/jenqz/blog/4837072

Scroll to Top