5

我今天正在调试一个与混合mod_proxymod_rewrite一起相关的问题,我最终不得不使用balancer://myclusterinRewriteRule以停止从 Apache 接收 404 错误。我有两个问题:

1)有没有其他方法可以让重写的 URL 通过平衡器而不添加balancer://myclusterRewriteRule

2) 有没有办法在 or 中定义我在ProxyPass(stickysession=JSESSIONID|jsessionid scolonpathdelim=On lbmethod=bytraffic nofailover=Off) 中定义的所有参数<Proxy>RewriteRule我担心与新请求匹配的请求不会以与通过的请求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

1 回答 1

4

看起来我可以使用ProxySet指令,以便以相同方式匹配 RewriteRule 负载平衡的 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>
于 2009-05-18T19:31:00.117 回答