最近搞了搞 spring cloud的全家桶,在用到zuul的时候,有一些问题,这里记录一下
先上一段配置,根据配置来说说
spring:
application:
name: zuul-provider
server:
port: 9096
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8763/eureka/,http://localhost:8762/eureka/,http://localhost:8761/eureka/
#这个的意思是,配置在erueka里面叫erueka-provider的服务。
#只要是api开头的url都会被转发到指定的服务上面
#如果path配置成'/**/api/**'的话,会跳转,不过所有的url都会映射到后端
#如果path配置成'/api/**'的话,会跳转,并且忽略掉'/api'部分
zuul:
routes:
erueka-provider-inner:
path: /inner/**
erueka-provider-outside:
path: /outside/**
# 指定路由关闭重试机制
#zuul.routes.<route>.retryable=false
# 全局关闭重试机制
retryable: false
add-host-header: true #设置为true重定向是会添加host请求头
sensitive-headers: Cookie,Set-Cookie,Authorization #配置过滤敏感的请求头信息,设置为空就不会过滤
#这里禁用SendErrorFilter ,不然即使有全局的errorFilter,返回结果也会被覆盖
SendErrorFilter:
error:
disable: true
#hystrix的全局超时时间,有可能是服务挂掉、出错或者超时,会走全局的FallbackProvider,
hystrix:
command:
defau

这篇博客探讨了在使用Spring Cloud Zuul时遇到的错误过滤器(errorFilter)不生效的问题,特别是针对Hystrix超时和Ribbon超时的设置。作者指出,当服务不可用时,GlobalErrorFilter虽然会被调用,但SendErrorFilter会覆盖其返回信息。为了解决这个问题,禁用了SendErrorFilter的错误发送,但带来了返回空值的新挑战。解决方案涉及到移除`throwable`以确保SendResponseFilter能够正确执行。完整配置代码已上传至GitHub。
最低0.47元/天 解锁文章
168万+

被折叠的 条评论
为什么被折叠?



