如何检查 netflix zuul 是否将请求重定向到适当的服务



您能否帮助我处理代码片段,这将有助于确定 netflix zuul 是否正在将请求重定向到适当的服务。

我正在使用Spring boot和zuul 1.x。

RequestContext.getCurrentContext().getRequest().getRequestURI().toString(); 给了我由浏览器客户端启动的 URL,但是我无法弄清楚如何确保 zuul 在内部将此请求重定向到正确的服务。这将有助于在不运行实际服务的情况下进行测试。

谢谢 谢卡尔

尝试查看预装饰过滤器的源代码,基本上它的作用是根据提供的确定路由的位置和方式。还为下游请求设置各种与代理相关的标头

context = RequestContext.getCurrentContext();    
request = context.getRequest();

在上下文对象上调用getRouteHost方法,它将为您提供所有与路由相关的信息,如协议,主机,端口等。

RequestContext.getCurrentContext().getRouteHost();

获取 URI 调用 getRequestURI on 请求对象

request.getRequestURI()

注意:您可能遇到的问题是过滤器的顺序,因为preDecorationFilter的顺序为5

@Override
public int filterOrder() {
return PRE_DECORATION_FILTER_ORDER;
}

这实际上是 5(据我所知),确保您的过滤器顺序大于 5,我尝试使用过滤器顺序 7 并且一切都按预期工作,将您的智能代码放入 run method()

最新更新