Search code examples
springspring-bootspring-cloudnetflix-zuul

Zuul Ribbon exception always returns 500 response


I am using Zuul with Eureka as a reverse proxy. When a downstream service returns a 4xx Client Exception, Ribbon will convert the exception into a 500 server error.

An example output on the whitelabel page is:

There was an unexpected error (type=Internal Server Error, status=500).
403 FORBIDDEN

RibbonRoutingFilter appears to always convert any exception to 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

Is there any way to override this behavior and have the original status code sent to the client.


Solution

  • It is a known issue that we plan on fixing.