【发布时间】:2016-05-19 13:35:20
【问题描述】:
我正在使用带有 Eureka 的 Zuul 作为反向代理。 当下游服务返回 4xx Client Exception 时,Ribbon 会将异常转换为 500 服务器错误。
whitelabel 页面上的示例输出是:
There was an unexpected error (type=Internal Server Error, status=500).
403 FORBIDDEN
RibbonRoutingFilter 似乎总是将任何异常转换为 500。 https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/RibbonRoutingFilter.java#L81
是否有任何方法可以覆盖此行为并将原始状态代码发送给客户端。
【问题讨论】:
-
所以我试图重现这一点,例如,如果客户端发回带有 401 的有效响应,则会将正确的错误代码报告回客户端。 github.com/spring-cloud/spring-cloud-netflix/blob/master/…你有办法重现这个吗?
-
我能够使用 503 进行复制,这是功能区中的一种特殊情况。如果您有一个可以重现此问题的项目,请创建一个问题。
标签: spring spring-boot spring-cloud netflix-zuul