Mod-Proxy
通過查詢字元串到負載均衡器的 mod-proxy
給定一個目前代理所有請求的平衡器:
<Proxy balancer://java-app> ProxySet lbmethod=bybusyness BalancerMember https://java1:8443 route=java-app1 BalancerMember https://java2:8443 route=java-app1 </Proxy> ProxyPass / balancer://java-app/ stickysession=JSESSIONID|jsessionid scolonpathdelim=On
我需要修改它,以便:當查詢字元串包含參數 p1 然後它應該代理到平衡器否則它不應該代理
mod-proxy 不能用於此案例。我們需要使用 mod-rewrite 但我不知道如何有效地實現這個目標。
在此先感謝,-內斯特
這就是我最終要做的。重寫條件觸發重寫規則將查詢字元串中包含參數 p1 的所有請求傳遞到 /restless 端點。此端點在伺服器中不存在,但僅用於通過 Proxy 平衡請求:
RewriteCond %{QUERY_STRING} ^.*p1=.*$ RewriteRule (.*)$ /restless$1 [PT] <Proxy balancer://java-app> ProxySet lbmethod=bybusyness BalancerMember https://java1:8443 route=java-app1 BalancerMember https://java2:8443 route=java-app1 </Proxy>
ProxyPass /restless balancer://krfs-app stickysession=JSESSIONID|jsessionid scolonpathdelim=On