обратный прокси nginx на основе заголовка ответа

У меня есть настройка веб-сайта, который работает на двух веб-приложениях.

Одно приложение (fast) должен обрабатывать страницы каталога.
Другое приложение (slow) должен обрабатывать страницы клиентов / корзины / оформления заказа.

Оба приложения должны работать на одном хосте:
example.com:80 (fast) и example.com:8000 (slow)
Конечно, порт 8000 не подвергается для посетителей и используется внутри Nginx.

Я хочу, чтобы веб-запросы доходили slow приложение только если fast приложение вернуло определенный заголовок ответа, например X-catalog-not-found.

Ожидаемый результат следующий:

  1. все запросы отправляются на fast application example.com:80
  2. если fast приложение нашло продукт по uri - оно отображает страницу
  3. если fast приложение не нашло продукт по uri - отправляет пустое тело и заголовок ответа X-catalog-not-found
  4. на основе заголовка, полученного на предыдущем шаге, nginx выполняет передачу прокси на slow application example.com:8000

Я чувствую, что следует использовать модуль ngx_http_proxy_module или / и nginx_upstream, но не нашел рабочего решения после прочтения документации.

0 ответов

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