Spring Cloud Gateway跨域相关解决方案

前言

记录 Spring Cloud Gateway 整合 Spring SecurityOauth2 时跨越问题相关解决过程


项目架构

为了不直接暴露 API 及保护服务器,所有访问都需要经过网关,由网关转发请求到服务器及返回服务器的响应
在这里插入图片描述


初遇跨域

跨域其实是很常见的问题,在 Spring 中可以简单的写个 @CrossOrigin 或者全局拦截器之类的解决掉,但在 Spring Cloud Gateway 中这行不通,写注解等方式在路由转发时还是会跨域
在这里插入图片描述
官方文档 给出相关跨域配置(实测不好用)

spring:
  cloud:
    gateway:
      globalcors:
        corsConfigurations:
          '[/**]':
            allowedOrigins: "https://docs.spring.io"
            allowedMethods:
            - GET

不过你可以轻易的通过Google搜索到如下代码

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

@Bean
public CorsWebFilter corsFilter() {
   
	UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
	CorsConfiguration config = new CorsConfiguration();
	config.addAllowedOrigin("*");
	config.setAllowCredentials(true
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值