Spring cloud zuul
- 介绍
Spring Cloud创建了一个嵌入式Zuul代理,以简化一个非常常见的用例的开发,在这个用例中,UI应用程序希望代理对一个或多个后端服务的调用。该功能对于用户界面来说非常有用,可以代理到所需的后端服务,从而避免了为所有后端独立管理CORS和身份验证问题的需要。 - 在启动类上用@EnableZuulProxy启用
java
@SpringBootApplication
@EnableZuulProxy
public class Application {
}
- 基本配置
yml
zuul:
ignoredServices: '*'
routes:
users: /myusers/**
- zuul.ignoredServices 所有的service都被忽略,除了users
- 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
- zuul.ignoredPatterns 请求中包含的字符将不被转发解析
- zuul.router.{serviceName}.path 代理路径
- zuul.router.{serviceName}.serviceId 代理serviceId
- zuul.router.{serviceName}.stripPrefix 是否去除前缀,false代表比如 "/myusers/api/user/add" 转发到 "/myusers/api/user/add" true代表比如 "/myusers/api/user/add" 转发到 "/api/user/add"
- zuul.router.{serviceName}.sensitiveHeaders 敏感头,是否允许代理组件处理这些header默认不能处理Cookie,Set-Cookie,Authorization