springCloud 网关(gateway)配置跨域访问

如果项目是分布式架构,通过网关进行路由转发的,那么项目中如果存在跨域的访问,在每一个项目中单独配置,显示是错误的,我们只需要在网关处进行处理,其它项目都是由网关进行转发的,他们是不会存在跨域访问的(具体为啥,可以查询跨域产生的原因)

下面就上代码了

java 复制代码
package org.example.sysgateway.filter;

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

@Configuration
public class CorsConfig {
    @Bean
    public CorsWebFilter corsWebFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedOriginPattern("*");
        config.addAllowedMethod("*");
        config.addAllowedHeader("*");
        config.setAllowCredentials(true);
        config.setMaxAge(3600L);

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

        return new CorsWebFilter(source);
    }
}

将这个文件复制到网关中即可,当然,也可以在网关的配置文件中进行编写,

java 复制代码
spring:
  cloud:
    gateway:
      globalcors:
        cors-configuration:
          '[/**]':
            allowedOrigins: "*"
            allowedMethods: "*"

然后这个是一个挺简单的东西,没啥好说的,写出来的目的是方便以后遇到,可以及时想起这里有一个解决方案,如有更好方法,欢迎留言

相关推荐
鸽鸽程序猿17 分钟前
【项目】基于Spring全家桶的论坛系统 【下】
后端·spring·restful
Lisonseekpan40 分钟前
Spring Boot 中使用 Caffeine 缓存详解与案例
java·spring boot·后端·spring·缓存
小许学java1 小时前
Spring AI快速入门以及项目的创建
java·开发语言·人工智能·后端·spring·ai编程·spring ai
kfepiza3 小时前
Spring 如何解决循环依赖 笔记251008
java·spring boot·spring
kfepiza4 小时前
Spring的三级缓存原理 笔记251008
笔记·spring·缓存
popoxf14 小时前
spring容器启动流程(反射视角)
java·后端·spring
INFINI Labs14 小时前
如何使用 INFINI Gateway 对比 ES 索引数据
大数据·elasticsearch·gateway·easysearch
谷哥的小弟15 小时前
Spring Framework源码解析——ApplicationContextAware
spring·源码
AAA修煤气灶刘哥15 小时前
监控摄像头?不,我们管这个叫优雅的埋点艺术!
java·后端·spring cloud
武子康15 小时前
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
java·数据库·mysql·spring·性能优化·系统架构·事务