Zuul Ribbon 异常总是 returns 500 响应

Zuul Ribbon exception always returns 500 response

我使用 Zuul 和 Eureka 作为反向代理。 当下游服务returns出现4xx Client Exception时,Ribbon会将异常转化为500 server error。

白标签页面上的示例输出是:

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

有什么方法可以覆盖此行为并将原始状态代码发送到客户端。

这是我们计划修复的 known issue