2009-05-18 109 views
4

我工作相關的調試混合mod_proxymod_rewrite在一起的問題今天我最後不得不以停止從阿帕奇接收404錯誤使用balancer://myclusterRewriteRule。我有兩個問題:混合重寫規則,並在ProxyPass僞阿帕奇

1)是否有任何其他方法可以讓重寫的URL通過平衡器,而不會將balancer://mycluster添加到RewriteRule

2)有沒有一種方法來定義所有我在ProxyPass(stickysession = JSESSIONID定義的參數| JSESSIONID scolonpathdelim無論是在<Proxy>RewriteRule =在lbmethod = bytraffic nofailover = OFF)?我擔心與新RewriteRule相匹配的請求不會以與經過ProxyPass(如/app1/something.do)的方式相同的方式進行負載平衡?

下面是httpd.conf的相關部分。我正在使用Apache 2.2。

<Proxy balancer://mycluster> 
    Order deny,allow 
    Allow from all 

    BalancerMember ajp://my.domain.com:8009 route=node1 
    BalancerMember ajp://my.domain.com:8009 route=node2 
</Proxy> 

ProxyPass /app1 balancer://mycluster/app1 stickysession=JSESSIONID|jsessionid scolonpathdelim=On lbmethod=bytraffic nofailover=Off 
ProxyPassReverse /app1 ajp://my.domain.com:8009/app1 

...

RewriteRule ^/static/cms/image/(.*)\.(.*) balancer://mycluster/app1/$1.$2 [P,L] 

回答

4

看起來我可以使用ProxySet指令,以便匹配在同樣的方式重寫規則的負載平衡的URL的。

<Proxy balancer://mycluster> 
    Order deny,allow 
    Allow from all 

    BalancerMember ajp://my.domain.com:8009 route=node1 
    BalancerMember ajp://my.domain.com:8009 route=node2 

    ProxySet stickysession=JSESSIONID|jsessionid scolonpathdelim=On lbmethod=bytraffic nofailover=Off 
</Proxy>