Spring Cloud Gateway GlobalFilter 整理
390 字
2 分钟
Spring Cloud Gateway GlobalFilter 整理
访问 http://localhost<8080>8080>/actuator/gateway/globalfilters 可以获取所有 GlobalFilter 以及对应的 Order 顺序, 按照 spring 的特性, 值越小的优先级越高
{ "org.springframework.cloud.gateway.filter.RouteToRequestUrlFilter@41167ded": 10000, "org.springframework.cloud.gateway.filter.NettyRoutingFilter@63262071": 2147483647, "org.springframework.cloud.gateway.filter.AdaptCachedBodyGlobalFilter@77ab5214": -2147482648, "com.qnvip.gateway.filter.LoggingFilter@135e49b2": 2147483647, "org.springframework.cloud.gateway.filter.ForwardRoutingFilter@13e1e816": 2147483647, "org.springframework.cloud.gateway.filter.ForwardPathFilter@36238b12": 0, "org.springframework.cloud.gateway.filter.RemoveCachedBodyFilter@1282f784": -2147483648, "org.springframework.cloud.gateway.filter.NettyWriteResponseFilter@2d4f67e": -1, "org.springframework.cloud.gateway.filter.GatewayMetricsFilter@41938e1e": 0, "org.springframework.cloud.gateway.filter.WebsocketRoutingFilter@33187485": 2147483646, "org.springframework.cloud.gateway.filter.LoadBalancerServiceInstanceCookieFilter@10b87ff6": 10151, "org.springframework.cloud.gateway.filter.ReactiveLoadBalancerClientFilter@5bb97fe7": 10150}汇总表
| Filter | Order 值 | 用途 |
|---|---|---|
AdaptCachedBodyGlobalFilter | -2147482648 | 缓存请求体, 以便在后续的请求中重复使用 |
RemoveCachedBodyFilter | -2147483648 | 移除上下文中 cachedRequestBody 属性 |
NettyWriteResponseFilter | -1 | 该过滤器在所有其他过滤器执行完成后执行,并将代理响应协会网关的客户端侧 |
WebClientWriteResponseFilter | -1 | 通过 webclient 并将代理响应协会网关的客户端侧(实验性, 功能和WebClientWriteResponseFilter类似) |
GatewayMetricsFilter | 0 | metrics 采集 |
ForwardPathFilter | 0 | 是在请求转发(Forward)时,处理请求路径的修改和重写 |
RouteToRequestUrlFilter | 10000 | 根据目标服务的URI来构建新的请求URI |
NoLoadBalancerClientFilter | 10150 | 没有路由规则匹配时抛出 404 |
ReactiveLoadBalancerClientFilter | 10150 | 提供负载均衡能力, 推荐 |
LoadBalancerServiceInstanceCookieFilter | 10151 | 提供负载均衡能力, 基于Ribbon, 不推荐 |
WebsocketRoutingFilter | 2147483646 | 处理 WebSocket 协议的请求,将 WebSocket 请求路由到目标 WebSocket 服务器 |
NettyRoutingFilter | 2147483647 | 它使用Netty HttpClient 向下游发送代理请求。获得的响应将放在exchange的 ServerWebExchangeUtils.CLIENT_RESPONSE_ATTR 属性中,以便在后面的filter中使用 |
ForwardRoutingFilter | 2147483647 | 其根据 forward:// 前缀( Scheme )过滤处理,将请求转发到当前网关实例本地接口 |
WebClientHttpRoutingFilter | 2147483647 | 通过 webclient 向下游发送代理请求(实验性, 功能和NettyRoutingFilter类似) |
📎 参考文章
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
Spring Cloud Gateway GlobalFilter 整理
https://blog.sephy.top/posts/spring-cloud-gateway-globalfilter-整理/相关文章智能推荐
1
Spring Cloud Gateway 流量复制
Spring Cloud Gateway 流量复制方案。包含复制场景、实现方式、注意事项等。
2
在 PVE 上给软路由虚拟机加一个网络 Watchdog
技术分享在 PVE 宿主机上用 Bash 和 systemd timer 实现一个网络 watchdog:先检测公网连通性,连续失败后重启软路由虚拟机,多次自愈无效再升级为重启 PVE 宿主机。
3
命令行自动登录 JumpServer:SSH、TOTP 与密码提示的自动化
技术分享把 JumpServer 登录流程拆成凭据读取和终端交互两层:zsh 从密码管理器安全读取 TOTP seed 与可选密码,expect 只负责响应 SSH 登录过程中的 password 和 Code 提示。
4
git 个人开发工作流
技术分享介绍个人 Git 分支协作流程:以基线分支(如 feature-a)+ 个人开发分支(feature-a-xxx)进行开发,开发分支定期 rebase 同步上游,最终通过 merge(必要时先 squash 整理提交)合回基线;并提供 grebase/gmergebase 等脚本,支持自动推导基线分支、预览计划、带 autostash 的安全 rebase,以及可选 squash/推送/删除分支的安全 merge-back。
5
使用 docker-atrust 连入深信服
技术分享使用 Docker 容器运行深信服 aTrust 客户端,通过 VNC 完成登录,并结合本机 mihomo 配置实现公司内网的 DNS 解析与按域名、IP 的精确代理分流;宿主机暴露 1080 与 8888 端口供 socks5 和 HTTP 代理使用,从而在不安装原生客户端的情况下实现零信任接入并降低对本机的影响。
随机文章随机推荐













