Проверьте ответ одного бэкэнда перед проксированием на другой

У меня есть два бэкэнда в двух местах за интерфейсом Nginx. Серверная часть A реализует аутентификацию с помощью OAuth. Бэкэнд B этого не делает.

Я думаю, что ленивым способом добавления аутентификации для местоположения B было бы сначала отправлять каждый запрос на серверную часть A. Я имею в виду поток:

      request for /b/kitten.png --> [ nginx ]
                              [ nginx ] --> request for /index.html --> [backend A]
                            if A responds 200:
                              [ nginx ] --> request for /kitten.png --> [backend B]
                            otherwise return what A returned (redirect to OAuth)

Возможно ли это в Nginx? Если нет, то, может быть, в OpenResty/HAProxy/Traefik?

0 ответов

Другие вопросы по тегам