我使用JBoss clustring与Apache mod_cluster集群一起使用。 modcluster配置是基本的:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so
Listen 10.33.144.3:6666
<VirtualHost 10.33.144.3:6666>
<Directory />
Order deny,allow
Deny from all
Allow from 10.33.144.
</Directory>
KeepAliveTimeout 60
MaxKeepAliveRequests 0
ManagerBalancerName mycluster
AdvertiseFrequency 5
</VirtualHost>
现在我在ServerRoot中有一个文件夹(/ documentation),其中包含我希望通过Apache而不是JBoss提供的html文件。如何将此特定文件夹配置为在mod_cluster转发之外?现在当我尝试访问/ documentation文件夹时,我被定向到一个JBoss节点而不是apache。谢谢!
答案 0 :(得分:1)
嗯,这很容易: 在mod_cluster启用的VirtualHost:
之外添加此指令CreateBalancers: 1
查看它的作用:CreateBalancers docs。 此外,在conf.d /中创建一个proxypass.conf,例如,这个内容:
ProxyPassMatch ^/documentation/ !
ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=on
ProxyPassReverse / balancer://mycluster
ProxyPreserveHost on
如果您遇到任何Cookie问题,请尝试使用:ProxyPassReverseCookie *指令。
前面提到的片段只是说:如果是/ documentation /,请不要将其转发给工作人员并在本地服务。
Lat但并非最不重要的是,您的EnableMCPMReceive指令在哪里?它是什么版本的mod_cluster?我强烈建议不要使用超过1.2.0的任何东西,我建议使用最新的1.2.6版本。缺少EnableMCPMReceive意味着一个非常古老的mod_cluster没有关键的安全修复......
HTH
Karm