zuul网关转发丢失头信息问题
zuul网关转发丢失头信息问题
最近做权限springsecurity+jjwt,遇到一个问题,在网关转发时,头信息会被拦截掉。用了弯管过滤器转发,就是整死的不得行,心累两三天了?怪自己水平太菜,早知道多读点书了
第一步:先解决网关转发头信息问题。
在网关建一个过滤器类,用来转发头信息。
@Component
@Slf4j
public class AuthFilter extends ZuulFilter {/** Zuul有一下四种过滤器* "pre":是在请求路由到具体的服务之前执行,这种类型的过滤器可以做安全校验,例如身份校验,参数校验等* "routing":它用于将请求路由到具体的微服务实例,在默认情况下,它使用Http Client进行网络请求* "post":它是在请求已被路由到微服务后执行,一般情况下,用作收集统计信息,指标,以及将响应传输到客户 * "error":它是在其他过滤器发生错误时执行*/@Overridepublic String filterType() {return "pre";}/*** 过滤顺序,值越小,越早执行该过滤器* @return*/@Overridepublic int filterOrder() {// 过滤的顺序return 0;}/** 开关* 表示该过滤器是否过滤逻辑,如果是ture,则执行run()方法;如果是false,则不执行run()方法.* @return*/@Overridepublic boolean shouldFilter() {return true;}/*****网关真正的逻辑部分*/@Overridepublic Object run() {//获得请求的上下文RequestContext requestContext = RequestContext.getCurrentContext();//从请求中获取request域HttpServletRequest request = requestContext.getRequest();//从request域里面获得Authorization字段下的值(我就是放Bearer + token信息)String header = request.getHeader("Authorization");if(null != header && !"".equals(header)){//把信息头转发到下一个微服务//requestContext.addZuulRequestHeader("Authorization",header);requestContext.addZuulRequestHeader("header",header);}return null;}
}
第二步:解决转发不了的问题。
重点:敏感头信息Authorization,Cookie,Set-Cookie默认是不转发的。也就是requestContext.addZuulRequestHeader(“Authorization”,header);里面用的Authorization,那是不会转发的。
解决办法: 把Authorization改了,搞成其他的就可以了。
zuul网关转发丢失头信息问题相关推荐
- Zuul网关使用笔记
文章目录 Zuul 介绍 Pom 中引入包 启动类中添加@EnableZuulProxy注解启用Zuul的API网关功能 yml文件中配置相关属性信息 路由映射规则 传统路由实现方式 面向服务的路由 ...
- API 网关服务:Spring Cloud Zuul(二):路由详解、Cookie 与头信息
实践出于<Spring Cloud 微服务实战> - 瞿永超 著 路由详解 传统路由配置 传统路由配置就是在不依赖于服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实 ...
- zuul网关_SpringCould之服务网关(zuul)介绍与配置
??记得点击上方蓝字"程序员小强"关注哦 一.前言介绍 1.什么是服务(API)网关? 服务网关也就是API网关,可以作为服务的统一入口. 可提供身份校验.动态路由.负载均衡.安全 ...
- SpringCloud Zuul 网关
目录 网关的概念 搭建zuul网关.实现路由转发 使用zuul过滤请求 使用zuul进行限流 网关的概念 API Gateway 网关,是介于客户端.服务器端之间的中间层,是系统对外的唯一入口,可以统 ...
- Zuul网关简介以及使用
目录 一.概述简介 1.1. Zuul是什么 1.2. Zuul能干嘛 1.3. Zuul现状 二.实战练习 2.1. 入门demo 2.2. 路由访问映射规则 2.3. 查看路由信息 2.4. Zu ...
- Zuul网关原理以及源码解析
一.基本概念 1.1 Zuul网关过滤器类型 pre:优先执行的过滤器,其中自动配置中配置的PreDecorationFilter,主要负责决定该请求的路由以及发送给下游服务的额外请求头. route ...
- properties 配置回车_非常全面的讲解SpringCloud中Zuul网关原理及其配置,看它就够了!...
本文同步Java知音社区,专注于Java 作者:kosamino http://www.cnblogs.com/jing99/p/11696192.html Zuul是spring cloud中的微服 ...
- Spring Cloud Zuul网关 Filter、熔断、重试、高可用的使用方式
时间过的很快,写springcloud(十):服务网关zuul初级篇还在半年前,现在已经是2018年了,我们继续探讨Zuul更高级的使用方式. 上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制 ...
- 网关的作用是什么_SpringCloud中Zuul网关原理及其配置,看它就够了
正文 Zuul是spring cloud中的微服务网关.网关:是一个网络整体系统中的前置门户入口.请求首先通过网关,进行路径的路由,定位到具体的服务节点上. Zuul是一个微服务网关,首先是一个微服务 ...
最新文章
- 【Joomla】K2 Item 页面添加 Module
- Python-GUI PyQT5案例:注册界面窗体设计(含扇形菜单)
- git bash 界面修改成linux界面
- java编写螺旋矩阵讲解_Java如何实现螺旋矩阵 Java实现螺旋矩阵代码实例
- windows使用WSL安装linux子系统
- C/C++网络编程工作笔记0004---socket()函数详解
- node.js require模板报错_简历不知道如何写起,推荐几个简历模板
- 计算机考试准考证无法下载
- 怎么判断目标点是否在指定地图版块上
- HTML 日期格式转换
- VC++信息安全编程(14)PNP溢出代码漏洞扫描检测
- android l usb调试,你居然还不会手机usb调试?5个方法,让你轻松学会设置!
- 阿里腾讯裁员30%,互联网大厂此举预示着什么?
- spi slaver接口的fpga实现
- leet70:爬楼梯
- python在哪里学比较好,python从哪里学起
- 怎样保护个人信息安全建议?
- 【GlobalMapper精品教程】027:路径剖面和和视线工具的使用
- thinker board s debian系统安装配置
- SpringBoot整合Elastricsearch + LogStash + Kibana太简单了!
热门文章
- sql联合查询(内联、左联、右联、全联)
- B站 Java相关学习资源汇总
- DirectX11进阶8_计算着色器(入门、流体模拟)
- 获取android设备唯一编号_获取android设备的唯一ID
- 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第09章 建立基于特征的文法
- Ping通外网百度,但是打不开网页(能登入QQ和微信,但是打不开网页)
- 经纬度5位数和6位数差多少_请问经纬度 经度一秒大概相差多少,纬度一秒相差多少?...
- 一个毫无头绪的core dump问题的解决-----与assign相关
- 2019年定制安卓app开发的五大优势
- linux怎么处理带空格的文件,Linux中如何批量处理带空格的文件名