Apache基於任意標頭的反向代理邏輯

Apache基於任意標頭的反向代理邏輯

我在 natting fw 上運行 apache,它可以進行身份驗證、反向代理,並為後端的 2 個 web 應用程式提供 ssl 包裝器。這適用於虛擬主機,並根據請求的頂級目錄進行代理,例如https://example.com/app1/ <-> http://app1/app1/。 (見圖1)

我想找到一種方法,根據請求中設定的任意標頭將請求代理回 Web 服務,例如,如果設定了標頭 web_service:coolwebservice,它將代理回 webservice:8000。這可能嗎?

圖1 [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:...}可以檢查任意標頭並據此做出決定。

相關內容