[英]Apache httpd as load balancer for jboss as well another Apache servers
我有一個Apache httpd服務器,例如server1 *(公開),它使用mod_cluster充當某些jboss服務器(在防火牆后)的負載平衡器。 現在,我想在幾台apache服務器上安裝我的靜態內容(images / css / htmls)以及一些cg腳本,例如** server2和server3 (位於防火牆后)。
現在,我希望server1以及jboss服務器充當這些server2和server3的負載平衡器。
通過這種安排,需要將對部署在jboss上的應用程序的任何請求都路由到jboss,並且任何靜態內容請求都應發送到server2或server3 。
這是我正在使用的版本
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.