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.
It is a known issue that we plan on fixing.