在Apache中混合重写规则和ProxyPass
今天我正在调试一个问题,这个问题与混合在Apache中混合重写规则和ProxyPass,apache,mod-rewrite,apache2,load-balancing,mod-proxy,Apache,Mod Rewrite,Apache2,Load Balancing,Mod Proxy,今天我正在调试一个问题,这个问题与混合mod_proxy和mod_rewrite有关,最后我不得不使用balancer://mycluster重写规则中的,以停止接收来自Apache的404错误。我有两个问题: 1) 有没有其他方法可以让重写的URL通过平衡器而不添加balancer://mycluster写入重写规则 2) 是否有办法在或重写规则中定义我在ProxyPass中定义的所有参数(stickysession=JSSessionID | JSSessionID scolonpathde
mod_proxy
和mod_rewrite
有关,最后我不得不使用balancer://mycluster重写规则中的
,以停止接收来自Apache的404错误。我有两个问题:
1) 有没有其他方法可以让重写的URL通过平衡器而不添加balancer://mycluster
写入重写规则
2) 是否有办法在
或重写规则中定义我在ProxyPass
中定义的所有参数(stickysession=JSSessionID | JSSessionID scolonpathdelim=On-lbmethod=bytraffic nofailover=Off)?我担心与新的重写规则匹配的请求不会以与通过ProxyPass
(如/app1/something.do
)的请求相同的方式进行负载平衡
以下是httpd.conf的相关章节。我正在使用Apache2.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
看起来我可以使用该指令,使URL以相同的方式匹配RewriteRule负载平衡
<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>
命令拒绝,允许
通融
平衡员ajp://my.domain.com:8009 路由=节点1
平衡员ajp://my.domain.com:8009 路由=节点2
ProxySet stickysession=JSSessionID | JSSessionID scolonpathdelim=On lbmethod=bytraffic nofailover=Off
<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>