2013-04-15 98 views
0

我們有兩個在每臺主機上的兩臺服務器上部署了相同上下文根的war文件。 保持相同的上下文根的原因是它是一個開源戰爭,改變上下文根需要一些調整,所以我們試圖使用相同的上下文根(然而,如果它是必須的,我們打開更改上下文根)。使用Mod羣集在Jboss EAP 6或JBOSS AS 7.1.2中進行負載均衡

下面是主機和端口名稱

 
drhapp05:8085 - IDP with context root /openam 
drhapp05:8086 - IDPProxy with context root /openam 

drhapp06:8085 - IDP with context root /openam 
drhapp06:8086 - IDPProxy with context root /openam 

我們的目標是,當我們訪問的URL
idpdev.devs1.int ==>請求應FWD到IDP上運行

 
    drhapp05:8085/openam or drhapp06:8085/openam 

idpproxydev.devs1.int ==>的請求應被FWD至IDPPRXY運行在

 
    drhapp05:8086/openam or drhapp06:8086/openam 

所以我們在 https://community.jboss.org/wiki/VirtualHostsWithJBossAS7

做了以下修改按照文檔中的domain.xml(因爲我們使用域模式)

 <virtual-server name="devidpvs" default-web-module="OAM-IDP-1.0"> 
      <alias name="idpdev.devs1.int"/> 
      <alias name="drhapp05"/> 
      <alias name="drhapp06"/> 
     </virtual-server> 
     <virtual-server name="devproxyvs" default-web-module="OAM-IDPPROXY-1.0"> 
      <alias name="idpproxydev.devs1.int"/> 
      <alias name="drhapp05"/> 
      <alias name="drhapp06"/> 
     </virtual-server> 

在JBoss中的Web每次戰爭中的.xml

在t他openam戰爭的IDP版本(OAM-IDP-1.0.war)中的jboss-web.xml中我們

 <jboss-web> 
      <context-root>openam</context-root> 
      <virtual-host>devidpvs</virtual-host> 
     </jboss-web> 

在openam戰爭idpproxy版本(OAM-IDPPROXY-1.0)中的jboss-web.xml中,我們有

 <jboss-web> 
      <context-root>openam</context-root> 
      <virtual-host>devproxyvs</virtual-host> 
     </jboss-web> 

最後上modcluster在httpd.conf文件我們添加下列對Web服務器的httpd.conf文件:

   <VirtualHost *:80> 
       ServerName idpdev.devs1.int 
       </VirtualHost> 
       <VirtualHost *:80> 
       ServerName idpproxydev.devs1.int 
       </VirtualHost> 

這configurtaion犯規異體兩個網址都可以同時訪問。

 
If we shut down say 
drhapp05:8086 - IDPProxy 
drhapp06:8086 - IDPProxy 
Then we can access IDP using url idpdev.devs1.int/openam which forwards the request 
to drhapp05:8085/openam or drhapp06:8085/openam 
and vice-versa. 

我們嘗試了ProxyPass On指令,但是這會重定向請求,而不是轉發不是我們想要的請求。
任何想法最新配置錯了?
另外我們想知道是否有辦法在別名標籤下的domain.xml中指定端口名稱。

-RAM

回答

0
  1. 我們創造了新的DNS名稱,以避免重複和更新的domain.xml(或standalone.xml)。

    <virtual-server name="devidpvs" default-web-module="OAM-IDP-1.0"> 
        <alias name="idpdev.devs1.int"/> 
        <alias name="drhapp05_internal"/> 
        <alias name="drhapp06_internal"/> 
    </virtual-server> 
    <virtual-server name="devproxyvs" default-web-module="OAM-IDPPROXY-1.0"> 
        <alias name="idpproxydev.devs1.int"/> 
        <alias name="drhapp05_external"/> 
        <alias name="drhapp06_external"/> 
    </virtual-server> 
    

使得
drhapp05_external和drhapp05_internal相匹配的IP地址drhapp05
drhapp06_external和drhapp06_internal匹配drhapp06

  1. 在httpd.conf中,我們增加產生額外的屬性UseAlias

     <VirtualHost *:80> 
         ServerName idpdev.devs1.int 
         UseAlias 1 
         </VirtualHost> 
         <VirtualHost *:80> 
         ServerName idpproxydev.devs1.int 
         UseAlias 1 
         </VirtualHost> 
    

我們想知道是否有辦法指定domain.xml中的端口號作爲確保domain.xml中唯一性的方法....... 奇怪的是,主機名只能用一次在整個domain.xml中。
但無論如何,現在我們正在使用上述解決方案,它的工作原理。