2009-05-18 5 views
4

I arbeiten heute zum Debuggen eines Problems im Zusammenhang mit Misch mod_proxy und mod_rewrite zusammen und ich landete mit balancer://mycluster im RewriteRule verwenden, um einen 404-Fehler von Apache mehr erhalten. Ich habe zwei Fragen:Mischen RewriteRule und Proxypass in Apache

1) Gibt es eine andere Möglichkeit, um die neu geschriebene URL durch den Balancer gehen zu lassen, ohne balancer://mycluster in die RewriteRule?

2) Gibt es eine Möglichkeit, alle Parameter zu definieren, die ich in ProxyPass definiert (stickysession = JSESSIONID | jsessionid scolonpathdelim = On lbmethod = bytraffic NOFAILOVER = Off) entweder in der <Proxy> oder RewriteRule? Ich bin besorgt, dass die Anforderungen, die die neue RewriteRule entsprechen nicht Balance auf die gleiche Art und Weise wie diejenigen, die ProxyPass gehen (wie /app1/something.do)?

Im Folgenden finden Sie die relevanten Abschnitte der httpd.conf. Ich benutze 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] 

Antwort

4

Sieht aus wie ich die ProxySet Direktive so die URL verwenden kann, die den RewriteRule Lastausgleich in der gleichen Art und Weise entsprechen.

<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>