обратный прокси nginx на основе заголовка ответа
У меня есть настройка веб-сайта, который работает на двух веб-приложениях.
Одно приложение (fast
) должен обрабатывать страницы каталога.
Другое приложение (slow
) должен обрабатывать страницы клиентов / корзины / оформления заказа.
Оба приложения должны работать на одном хосте:
example.com:80 (fast
) и example.com:8000 (slow
)
Конечно, порт 8000 не подвергается для посетителей и используется внутри Nginx.
Я хочу, чтобы веб-запросы доходили slow
приложение только если fast
приложение вернуло определенный заголовок ответа, например X-catalog-not-found.
Ожидаемый результат следующий:
- все запросы отправляются на
fast
application example.com:80 - если
fast
приложение нашло продукт по uri - оно отображает страницу - если
fast
приложение не нашло продукт по uri - отправляет пустое тело и заголовок ответа X-catalog-not-found - на основе заголовка, полученного на предыдущем шаге, nginx выполняет передачу прокси на
slow
application example.com:8000
Я чувствую, что следует использовать модуль ngx_http_proxy_module или / и nginx_upstream, но не нашел рабочего решения после прочтения документации.