Я использую Zuul с Eureka как обратный прокси. Когда служба нисходящего потока возвращает исключение клиента 4xx, Ribbon преобразует исключение в ошибку сервера 500.исключение Zuul 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, например, соответствующий код ошибки сообщается обратно клиенту. 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 # L76-L77 У вас есть способ воспроизвести это? – spencergibb
Я смог воспроизвести, используя 503, который является особым случаем в ленте. Если у вас есть проект, который может воспроизвести это, создайте проблему. – spencergibb