0

我将 JBoss 集群与 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。谢谢!

4

1 回答 1

1

好吧,这很简单:在启用 mod_cluster 的 VirtualHost 之外添加这个指令:

CreateBalancers: 1

查看它的作用:CreateBalancers 文档。此外,在您的 conf.d/ 中创建一个 proxypass.conf ,例如,此内容:

ProxyPassMatch ^/documentation/ !
ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=on
ProxyPassReverse / balancer://mycluster
ProxyPreserveHost on

如果您在使用 cookie 时遇到任何问题,请尝试使用:ProxyPassReverseCookie* 指令。

上述代码段简单地说:如果是 /documentation/,不要将其转发给工作人员并在本地提供。

最后但并非最不重要的一点是,您的EnableMCPMReceive指令在哪里?它是什么版本的 mod_cluster?我强烈建议不要使用任何早于 1.2.0 的版本,我建议使用最新的 1.2.6 版本。EnableMCPMReceive的缺失意味着一个非常旧的 mod_cluster 没有关键的安全修复......

高温高压

业力

于 2013-09-18T15:45:15.540 回答