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