繁体   English   中英

Apache httpd作为jboss和其他Apache服务器的负载平衡器

[英]Apache httpd as load balancer for jboss as well another Apache servers

我有一个Apache httpd服务器,例如server1 *(公开),它使用mod_cluster充当某些jboss服务器(在防火墙后)的负载平衡器。 现在,我想在几台apache服务器上安装我的静态内容(images / css / htmls)以及一些cg脚本,例如** server2server3 (位于防火墙后)。

现在,我希望server1以及jboss服务器充当这些server2和server3的负载平衡器。

通过这种安排,需要将对部署在jboss上的应用程序的任何请求都路由到jboss,并且任何静态内容请求都应发送到server2server3

这是我正在使用的版本

Linux服务器apache httpd-2.2.22 JBOSS-EAP-6

我需要在server1中使用什么机制/配置才能实现? 请查看是否有人可以帮助您。

好吧,您只需添加一个ProxyPass设置。 mod_cluster与ProxyPass兼容,因此您可以同时使用两者。

例如,如果我希望gif图片由httpd而不是AS7提供,则可以添加:

ProxyPassMatch ^(/.*\.gif)$ !  

此外,如果您设置

CreateBalancers 1

mod_cluster不会为您创建代理,您必须自己做。 这为您提供了额外的控制。 例如:

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

在上述示例中,我们将/ static /内容以外的任何内容代理给工作人员。

  • 注意:如果遇到与Cookie相关的任何问题,则可能需要使用ProxyPassReverseCookieDomain和ProxyPassReverseCookiePath。

  • 注意我的配置中的qacluster 默认值为mycluster ,因此为了命名我的平衡器qacluster,我将其添加到mod_cluster config(在VirtualHost外部):

     ManagerBalancerName qacluster 

如果不清楚,请回复,我可以尝试进一步阐述。

在使用Apache HTTP服务器获取静态内容和使用JBOSS AS 7服务器获取动态内容(JSF Web应用程序)时,我遇到了同样的问题。

因此,在Load模块末尾添加以下属性可以说明

CreateBalancers 0   

告诉“ 0:在httpd中定义的所有VirtualHost中创建”。

有关更多信息,请访问: http : //docs.jboss.org/mod_cluster/1.2.0/html/native.config.html#d0e485

并且以下配置解决了图像和样式表无法显示的问题。

<VirtualHost *:80>
  ServerName dev.rama.com
  DocumentRoot "/var/www/assests"
  UseAlias 1
  ProxyPassMatch ^(.*\.bmp)$ !
  ProxyPassMatch ^(.*\.css)$ !
  ProxyPassMatch ^(.*\.gif)$ !
  ProxyPassMatch ^(.*\.jpg)$ !
  ProxyPassMatch ^(.*\.js)$ !
  ProxyPassMatch ^(.*\.png)$ !
 <Directory /var/www/assests>
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
 </Directory>

注意:我们对Web应用程序的所有支持都在/ var / www / assests的HTTP服务器上,而我正在访问的URL是端口80上的dev.rama.com。

因此,当它看到此ProxyPassMatch ^(。*。css)$时! 网络服务器知道css文件是http服务器本地的,我们不需要转到Jboss App服务器。

有关更多信息, 访问http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM