Zuul网关探秘

Spring cloud zuul

  • 介绍
    Spring Cloud创建了一个嵌入式Zuul代理,以简化一个非常常见的用例的开发,在这个用例中,UI应用程序希望代理对一个或多个后端服务的调用。该功能对于用户界面来说非常有用,可以代理到所需的后端服务,从而避免了为所有后端独立管理CORS和身份验证问题的需要。
  • 在启动类上用@EnableZuulProxy启用
java 复制代码
	@SpringBootApplication
	@EnableZuulProxy
	public class Application {
	
	}
  • 基本配置
yml 复制代码
	 zuul:
	  ignoredServices: '*' 
	  routes:
	    users: /myusers/**   
  1. zuul.ignoredServices 所有的service都被忽略,除了users
  2. zuul.router.{serviceName} 调用/myusers的配置比如 "/myusers/api/user/add" 转发到 "/api/user/add"
  • 更细粒度配置
yml 复制代码
	  zuul:
	  ignoredPatterns: /**/admin/**
	  routes:
	    users:
	      path: /myusers/**
	      serviceId: users_service
	      stripPrefix: false
	      sensitiveHeaders: Cookie,Set-Cookie,Authorization   
  1. zuul.ignoredPatterns 请求中包含的字符将不被转发解析
  2. zuul.router.{serviceName}.path 代理路径
  3. zuul.router.{serviceName}.serviceId 代理serviceId
  4. zuul.router.{serviceName}.stripPrefix 是否去除前缀,false代表比如 "/myusers/api/user/add" 转发到 "/myusers/api/user/add" true代表比如 "/myusers/api/user/add" 转发到 "/api/user/add"
  5. zuul.router.{serviceName}.sensitiveHeaders 敏感头,是否允许代理组件处理这些header默认不能处理Cookie,Set-Cookie,Authorization
相关推荐
人道领域几秒前
【LeetCode刷题日记】617.合并二叉树(空间换安全,还是原地省内存)
java·数据结构·算法·leetcode
独自破碎E5 分钟前
机器人Java后端算法笔试题解析
java·windows·算法
我是一颗柠檬5 分钟前
【JDK8新特性】函数式接口Day2
java·开发语言·后端·intellij-idea
Bat U6 分钟前
JavaEE|JVM
java·jvm·java-ee
Mahir088 分钟前
Spring Boot 自动装配深度解密:从原理到自定义 Starter 实战
java·spring boot·后端·自动装配·自定义starter·大厂面试题
淘源码d9 分钟前
产科系统源码,数字产科源码,Java(后端) + Vue + ElementUI(前端) + MySQL(数据库),确保系统稳定性与扩展性。
java·源码·数字产科·产科系统·智能化孕产服务·高危五色预警·智慧产科
AI云原生11 分钟前
远程控制软件进入协作阶段:ToDesk、向日葵、AnyDesk、RustDesk怎么选?
运维·服务器·网络·windows·docker·云原生·开源软件
wand codemonkey1 小时前
SpringbootWeb【入门】+MySQL【安装】+【DataDrip安装 】+【连接MySQL】
java·mysql·mybatis
小辰记事本9 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
Mahir089 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存