Назад | Перейти на главную страницу

Логика обратного прокси 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]
                          |
       ┌------------------┬------------------┐
       |                  |                  |
       V                  V                  V
[app1:80 /app1/]  [app2:8080 /app2/] [web_service:8000]     

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

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

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