Zuul 网关 - setSendZuulResponse & removeRouteHost
Posted
技术标签:
【中文标题】Zuul 网关 - setSendZuulResponse & removeRouteHost【英文标题】:Zuul Gateway - setSendZuulResponse & removeRouteHost 【发布时间】:2018-03-20 05:59:53 【问题描述】:只是想澄清一下 - 在 Netflix 的 Zuul Gateway 中,RequestContext 对象有两个方法,setSendZuulResponse 和 removeRouteHost。
首先,谁能告诉我两者之间的区别。从这个post,他们做同样的事情,但我找不到描述这些的文档(sendZuulResponse 和removeRouteHost)。
其次,Zuul 过滤器是否命中资源/源服务器而不考虑被过滤,而只是隐藏对客户端的响应?根据sendZuulResponse 的文档,它说:
"If this value if true then the response should be sent to the client."
我的理由是,如果此值设置为 false,则不应* 将响应发送给客户端;然而,Zuul 有响应(???),这意味着它已经发送了请求(如果有意义的话)。
谢谢。
【问题讨论】:
【参考方案1】:如果您使用的是 Spring Cloud Netflix Zuul 依赖项,则进行下游调用的 SimpleHostRoutingFilter 类只有在满足以下代码时才会被激活
RequestContext.getCurrentContext().getRouteHost() != null && RequestContext.getCurrentContext().sendZuulResponse();
从中我们可以看出,如果路由主机为空或Zuul响应设置为false,则过滤器不会运行,也不会向下游服务发出请求。
【讨论】:
以上是关于Zuul 网关 - setSendZuulResponse & removeRouteHost的主要内容,如果未能解决你的问题,请参考以下文章