spring-boot - Zuul 网关 - setSendZuulResponse & removeRouteHost

标签 spring-boot spring-cloud netflix-zuul spring-cloud-netflix

只是想澄清一下 - 在 Netflix 的 Zuul 网关中,RequestContext 对象有两个方法,setSendZuulResponse 和 removeRouteHost。

首先,谁能告诉我两者之间的区别。从这里 post ,他们做同样的事情,但我找不到描述这些( sendZuulResponseremoveRouteHost )的文档。

其次,Zuul 过滤器是否会命中资源/源服务器而不管是否被过滤但只是隐藏了对客户端的响应?基于 sendZuulResponse 的文档, 它说:

"If this value if true then the response should be sent to the client."

我的理由是,如果此值设置为 false,则不应*将响应发送给客户端;然而,Zuul 有响应(???),这意味着它无论如何都发送了请求(如果这是有道理的)。

谢谢。

最佳答案

如果您使用的是 Spring Cloud Netflix Zuul 依赖项,则 SimpleHostRoutingFilter进行下游调用的类,只有在满足以下代码时才会被激活

RequestContext.getCurrentContext().getRouteHost() != null && RequestContext.getCurrentContext().sendZuulResponse();
从中我们可以看到,如果路由主机为 null 或 Zuul 响应设置为 false,则过滤器将不会运行,也不会向下游服务发出请求。

关于spring-boot - Zuul 网关 - setSendZuulResponse & removeRouteHost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46639448/

相关文章:

java - 我如何在远程服务器上部署jar文件

java - AWS lambda + spring boot = 不连接组件

java - Spring Boot、Spring Cloud AWS 和 AWS SQS 不从队列中读取

java - 增加 swagger requestTimeout

java - 组织.eclipse.jetty.io.EofException : Early EOF thrown while uploading large file

sql - 如何通过 Spring Boot JPA 执行具有 INTERVAL 子句的 native SQL 查询?

java - Spring JPA - 数据完整性关系

java - Spring Schema 注册表服务器和 MySQL

spring-boot - 指标未显示在/prometheus 端点上

rest - Zuul 使用嵌套路径路由到服务