Обратный прокси-сервер Apache - ProxyPass на основе тела HTTP - PullRequest
3 голосов
/ 14 марта 2019

У меня есть системы, выдающие запросы SOAP на мой обратный прокси-сервер Apache, и у меня есть два разных приложения, которые должны обрабатывать эти запросы. Однако разграничение выполняется по телам SOAP запросов:

  • Всякий раз, когда входящий запрос содержит определенный тег XML в теле, отправьте его на server_a: порт / конечная точка
  • Если входящий запрос не содержит этого конкретного тега XML в теле, отправьте его на server_b: порт / конечная точка

Обратите внимание, что URL-адреса входящих запросов совпадают. Единственная разница - это фактическое тело SOAP входящих запросов.

Я уже нашел способы сделать это, проверив параметры POST URL входящего запроса ( Условный ProxyPass Apache ), но не смог найти именно то, что мне нужно.

Как бы вы поступили так? Действительно ли Apache способен это сделать?

1 Ответ

0 голосов
/ 23 марта 2019

Я не уверен, что погода возможна с Apache. Но этого можно добиться с помощью Nginx с модулем Lua.

https://github.com/openresty/lua-nginx-module

С модулем Lua вы можете делать все, что угодно, с запросом, ответом, телом запроса программно.

Также для обратного прокси лучше использовать Nginx, поскольку он обеспечивает простую и лучшую настройку обратного прокси, балансировки нагрузки.

...