Логика обратного прокси-сервера Apache на основе произвольного заголовка

Логика обратного прокси-сервера Apache на основе произвольного заголовка

У меня есть Apache, работающий на natting fw, который аутентифицирует, реверсирует прокси и предоставляет ssl-обертку для 2 веб-приложений на бэкенде. Это работает с виртуальным хостингом и прокси-серверами на основе каталога верхнего уровня запроса, например https://example.com/app1/ <-> http://app1/app1/. (см. рис. 1)

Я хотел бы найти способ проксировать запрос обратно к веб-сервису на основе произвольного заголовка, установленного в запросе, например, если установлен заголовок web_service:coolwebservice, он проксирует обратно к webservice:8000. Возможно ли это вообще?

fig1 [Apache:example.com:443 / FW / NAT]
                          |
       ┌------------------┬------------------┐
       | | |
       ВВВ
[app1:80 /app1/] [app2:8080 /app2/] [web_service:8000]     

решение1

Да, это вполне возможно с mod_rewrite, что-то вроде этого должно сработать:

RewriteCond %{HTTP:web-service} coolwebservice
RewriteRule ^/(.*) http://web_service:8000/$1 [P,L]

С помощью этого %{HTTP:...}вы можете проверять заголовки проектов и принимать решения на их основе.

Связанный контент