Evi*_*us1 5 spring-security spring-cloud netflix-zuul
我有一组微服务,我们使用zuul从前端进行路由,作为使用spring cloud将uri上下文路径映射到特定微服务的一种方式.
在内部和外部,我们使用spring OAuth2,效果很好.
但是,对于一个特定服务,出现了对SAML的要求,这对该服务强加了粘性会话要求.
是否有人考虑过这个问题以及为zuul提供粘性会话支持的正确方法.
作为一个解决方法,直到我弄清楚这一点,我将一些请求从我们在前端的HAProxy直接路由到此服务.
Dav*_*yer 10
我假设您需要具有多个后端的粘性会话,因此您必须使用功能区过滤器.可以添加粘性会话作为IRule例如
@RibbonClient(value="myui", configuration=UiRibbonConfiguration.class)
public class UiRibbonConfiguration {
@Bean
public IRule loadBalancerRule() {
return new MyStickySessionRule();
}
}
Run Code Online (Sandbox Code Playgroud)
加上一个ZuulFilter(或Filter后端的servlet )添加一个用于关联的cookie - 每个后端实例必须唯一地标识自己,然后在MyStickySessionRule你必须查看传入的cookie来决定将请求发送到哪个实例(例如你如果后端是Spring Boot应用程序,则可以将"X-Application-Context"标头值作为cookie发送.
注意如果您可以在后端使用Spring Session,则不需要粘性会话.
| 归档时间: |
|
| 查看次数: |
4659 次 |
| 最近记录: |