임의 헤더를 기반으로 하는 Apache 역방향 프록시 논리

임의 헤더를 기반으로 하는 Apache 역방향 프록시 논리

인증하고 역방향 프록시를 수행하며 백엔드에 있는 2개의 웹앱에 대한 SSL 래퍼를 제공하는 natting fw에서 실행되는 아파치가 있습니다. 이는 요청의 최상위 디렉토리(예 https://example.com/app1/ <-> http://app1/app1/: . (그림 1 참조)

요청에 설정된 임의의 헤더를 기반으로 요청을 다시 웹 서비스로 프록시하는 방법을 찾고 싶습니다. 예를 들어 web_service:coolwebservice 헤더가 설정된 경우 webservice:8000으로 다시 프록시됩니다. 이것이 가능합니까?

fig1 [아파치:example.com:443 / FW / NAT]
                          |
       ┌------┬------┐
       | | |
       VVV
[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:...}임의의 헤더를 검사하고 이를 기반으로 결정을 내릴 수 있습니다.

관련 정보