spring cloud gateway 处理跨域问题

2023-05-16

              Spring cloud gateway 设置https 和http同时支持

              Spring cloud gateway 拦截请求404 等HTTP 状态码

              Spring cloud gateway 修改response 截断问题,乱码问题解决

              Spring cloud gateway 详解和配置使用(文章较长) 

              Spring cloud Gateway 指定执行过滤器 (在配置文件中配置所需要过滤器)

任何操作都不需要,只需要把这代码加到启动类下即可

  @Bean
    public WebFilter corsFilter() {
        return (ServerWebExchange ctx, WebFilterChain chain) -> {
            ServerHttpRequest request = ctx.getRequest();
            if (!CorsUtils.isCorsRequest(request)) {
                return chain.filter(ctx);
            }
            HttpHeaders requestHeaders = request.getHeaders();
            ServerHttpResponse response = ctx.getResponse();
            HttpMethod requestMethod = requestHeaders.getAccessControlRequestMethod();
            HttpHeaders headers = response.getHeaders();
            headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, requestHeaders.getOrigin());
            headers.addAll(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, requestHeaders.getAccessControlRequestHeaders());
            if (requestMethod != null) {
                headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, requestMethod.name());
            }
            headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
            headers.add(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, ALL);
            headers.add(HttpHeaders.ACCESS_CONTROL_MAX_AGE, MAX_AGE);
            if (request.getMethod() == HttpMethod.OPTIONS) {
                response.setStatusCode(HttpStatus.OK);
                return Mono.empty();
            }
            return chain.filter(ctx);
        };
    }

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring cloud gateway 处理跨域问题 的相关文章

  • docker of minio解决浏览器无法访问的问题

    1 拉取镜像 docker pull minio minio 2 启动minio xff0c 动态端口云服务器会改变 docker run span class token punctuation span p 9090 span clas
  • vue3引入vant3配置整合详情(按需引入)

    一 安装 Vue Cli npm install g 64 vue cli 二 创建一个项目 xff0c hello world为你定义的项目名称 vue create hello world 三 安装vant依赖 npm i vant 6
  • java基础正则表达式(验证手机号码,验证电话号码等)

    1 验证用户名和密码 xff0c 第一个字必须为字母 xff0c 一共6 16位字母数字下划线组成 xff1a xff08 34 1 w 5 15 34 xff09 2 验证电话号码 xff1a xff08 34 d 3 4 d 7 8 3
  • 九、大数据技术之Hive

    一 Hive基本概念 1 1 什么是Hive 1 xff09 hive简介 Hive xff1a 由Facebook开源用于解决海量结构化日志的数据统计工具 Hive是基于Hadoop的一个数据仓库工具 xff0c 可以将结构化的数据文件映
  • nacos2.2启动命令mysql版本

    docker run d p 8848 8848 p 7848 7848 p 9848 9848 p 9849 9849 e MODE 61 standalone e PREFER HOST MODE 61 hostname e SPRIN
  • 一、Redis入门概述(是什么,能干嘛,去哪下,怎么玩)

    一 redis是什么 xff1f Redis REmote Dictionary Server 远程字典服务器 官方解释 xff1a Remote Dictionary Server 远程字典服务 是完全开源的 xff0c 使用ANSIC语
  • 二、Redis安装配置(云服务器、vmware本地虚拟机)

    一 自己购买服务器 自己购买阿里云 青牛云 腾讯云或华为云服务器 xff0c 自带CentoOS或者Ubuntu环境 xff0c 直接开干 二 Vmware本地虚拟机安装 1 VMWare虚拟机的安装 xff0c 不讲解 xff0c 默认懂
  • 【MySQL基础】数据类型

    文章目录 整数类型浮点类型定点数类型日期和时间类型字符串类型文本类型二进制字符串类型JSON 类型位类型ENUM类型SET类型空间类型 整数类型 整数类型一共有 5 种 xff0c 包括 TINYINT SMALLINT MEDIUMINT
  • ubuntu16.04备份和迁移

    ubuntu16 04备份和迁移 背景实践1 备份整个系统2 重装Ubuntu16 043 恢复系统 题外话 xff1a 修改主机名参考文章 背景 此文用来快速记录备份和恢复的过程步骤 xff0c 具体命令意思不做过多介绍 因为不想新设备重
  • c++20协程基础概念

    c 43 43 协程介绍 前言 官方文档地址 本文主要对c 43 43 reference做翻译 不会逐字翻译 xff0c 同时对其中的概念以及协程运行过程做对应的解释 因为是学习过程中的记录 xff0c 如有问题 xff0c 希望大家能够
  • Flask 与 Django 框架对比

    详细分析了两种 Python Web框架 xff1a Flask 与 Django 从开发难易度 应用架构 性能 可扩展性以及适用范围等方面进行了详细说明 Django 中级教程在 B 站上线 xff0c 深入解析 Django 体系架构
  • STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程 xff08 HAL库 xff09 开发环境配置STM32F103C8T6基础开发教程 xff08 HAL库 xff09 Keil添加注释的快捷键STM32F
  • C++实现插入排序算法(直接插入排序、折半插入排序、希尔排序)

    排序算法分为五大类 xff0c 一共是有九种 xff0c 如下 xff1a 插入类 xff1a 直接插入排序 折半插入排序 希尔排序 交换类 xff1a 冒泡排序 快速排序 选择类 xff1a 简单选择排序 堆排序 归并类 xff1a 二路
  • C++实现二路归并排序算法

    排序算法分为五大类 xff0c 一共是有九种 xff0c 如下 xff1a 插入类 xff1a 直接插入排序 折半插入排序 希尔排序 交换类 xff1a 冒泡排序 快速排序 选择类 xff1a 简单选择排序 堆排序 归并类 xff1a 二路
  • C语言实现-学生信息管理系统

    通过C语言实现一个学生信息管理系统 xff0c 要求如下 xff1a xff08 1 xff09 用户采用自己账号和密码登录系统 xff1b xff08 2 xff09 学生信息和账号密码通过文件的形式存储 xff1b xff08 3 xf
  • 通过python画矢量图(matplotlib,有代码)

    python画矢量图 xff08 有代码 xff09 python的matplotlib可以保存的文件格式word可以插入哪些图片格式呢代码中文乱码问题 有些同学因为文章的要求 xff0c 图片插入到word里的时候需要足够清晰 xff0c
  • Java实现LRU

    首先看看什么是LRU LRU是Least Recently Used的缩写 xff0c 即最近最少使用 xff0c 是一种常用的页面置换算法 xff0c 选择最近最久未使用的页面予以淘汰 该算法赋予每个页面一个访问字段 xff0c 用来记录
  • 域名cdn加速(apache与nginx)

    一 xff1a 由于公司业务属于请求量比较大的吧 xff0c 每个月几亿条 xff0c 考虑到安全性 xff0c 所以需要域名由http改为https cdn加速才可以支成撑业务 二 xff1a 之前的系统是使用lamp配置的 xff0c
  • ubuntu系统安装完nvidia显卡驱动后黑屏,不能进入系统

    我之前安装了系统里建议安装的nvidia 380显卡驱动 xff0c 为了安装更高版本的CUDA xff0c 我将nvidia显卡驱动升级到了430 xff0c 但是重启电脑进入Ubuntu系统时黑屏 xff0c 进不去系统界面 xff0c
  • 黑盒模糊测试之AFL++

    git clone depth 1 https github com AFLplusplus AFLplusplus cd AFLplusplus make Build Summary 43 afl fuzz and supporting

随机推荐