У меня есть 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:...}
вы можете проверять произвольные заголовки и принимать решения на их основе.