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
相关推荐
wuminyu1 分钟前
Java锁膨胀机制之偏向锁到轻量级锁源码剖析
java·linux·c语言·jvm·c++
budingxiaomoli2 分钟前
优雅的实现远程调用--OpenFeign
spring cloud
码不停蹄的玄黓7 分钟前
SpringBoot 实现拦截器
java·spring boot·后端
阿正的梦工坊8 分钟前
【Rust】16-async/await、Future 与执行器模型
网络·算法·rust
狗凯之家源码网11 分钟前
永夜大圣 H5 棋牌大厅源码效果实测与品质解析
java·开发语言
凡人叶枫11 分钟前
Effective C++ 条款13:以对象管理资源(RAII)
java·linux·开发语言·c++·嵌入式开发
小马爱打代码12 分钟前
Java开发:Spring Cloud Alibaba微服务之消息队列(RocketMQ、Kafka、RabbitMQ)
java·java-rocketmq·java-rabbitmq
带土113 分钟前
12. UDP协议概述
网络·网络协议·udp
callJJ14 分钟前
Java 线程池使用指南:基于 Spring Boot 3.x + JDK 17 的入门与实践
java·开发语言·spring boot·线程池·多线程编程
仙俊红14 分钟前
理解网络中的“监听端口”:从 netstat 输出说起
网络