У меня есть интерфейс haproxy, который в основном перенаправляет на несколько бэкэндов. Логика принятия решения о том, к какому бэкэнду перейти, на данный момент находится вне контроля haproxy. Однако то, что я хотел бы сделать (если haproxy будет его поддерживать), будет примерно таким:
frontend main localhost:4443
default_backend be
backend be
server be1 10.10.10.10:443
И пусть мой слушающий сервер в 10.10.10.10 выполнит перенаправление 302, чтобы перенаправить запрос на правильный сервер.
Однако я не хочу, чтобы человек, имеющий доступ к интерфейсу, это видел. Я хочу, чтобы бэкэнд отправлял 302 обратно в haproxy, а haproxy нажимал новый URL-адрес и перенаправлял его обратно во внешний интерфейс. Кэшировать это тоже было бы неплохо.
Возможно ли это с помощью haproxy? Я не могу сказать по конфигурации, сработает это или нет.
нет, это невозможно с haproxy, так как haproxy не кэширует запросы и ответы, а пересылает их только один раз (вы должны сравнить это с любым коммутатором, маршрутизатором или межсетевым экраном, который у вас может быть). Некоторые компоненты с поддержкой кеширования могут это делать, и мне сказали, что Perlbal тоже может это сделать.