Мы используем NGINX в качестве обратного прокси, он направляет вызовы извне на наши внутренние микросервисы Java:
Мы хотели бы добавить специальный сервис, который выполнял бы роль «посредника», но только для части запроса. Его цель — украсить исходный запрос (аутентификация, добавление/изменение заголовков HTTP, проверка прав доступа). «Декоративные задачи» включают в себя сложную бизнес-логику, которую нельзя настроить на самом NGINX.
Мы хотим, чтобы служба вызывалась первой, а затем перенаправляла свой ответ (особенно заголовки HTTP!) как запрос одной из микрослужб. Возможно также опционально вызывать диспетчерские службы с исходным телом, но с заголовками HTTP, возвращаемыми из службы декоратора.
Когда служба возвращает ошибку HTTP, она должна возвращаться непосредственно вызывающему объекту без диспетчеризации.
Сервис реализован в виде приложения Java Spring Boot. Это обычный веб-сервис.
Можно ли настроить в NGINX и как?
Чтобы было ясно: я не спрашиваю о том, как реализовать эту конкретную услугу.Мне нужно только знать, можно ли (и как) настроить NGINX так, чтобы он вызывал другую службу перед отправкой вызова, и что NGINX передает заголовки (и, возможно, также тело, но не обязательно), возвращаемые этой службой, вызову.