多站點 Apache 負載平衡器不同域

多站點 Apache 負載平衡器不同域

我正在努力設定一個有 2 個成員的 apache 負載平衡器。這三台伺服器都是windows server 2012,使用的是apache 2.4.9。我正在努力讓一個負載平衡叢集為多個站點提供服務。目前,當我轉到localhost 時,兩個設定localhost 和test1 一切正常,負載平衡器正在工作...當我轉到test1 時,子伺服器正在加載localhost 配置(這是預設),我認為這是這樣的就像 test1 url 沒有傳遞給工作人員一樣,因此工作人員無法識別它。

這是負載平衡器上本地主機的虛擬主機配置的樣子[注意,為了客戶端的緣故,它是通用的]......

  <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/generic-page/www"
    ServerName localhost
    ErrorLog "E:/_logs/localhost-error.log"
    CustomLog "E:/_logs/localhost-access.log" common


     ProxyRequests Off  
        <Proxy *>
          AllowOverride All
          Require all granted
        </Proxy>    
        ProxyPass /balancer-manager !
        ProxyPass / balancer://mycluster/ stickysession=PHPSESSIONID nofailover=On

        <Location /balancer-manager>
           SetHandler balancer-manager
           Require all granted
            </Location>


        #ProxyPassReverse / http://tstweb1.somewhere.org:80
        #ProxyPassReverse / http://tstweb2.somewhere.org:80
        <Proxy balancer://mycluster>
          BalancerMember http://tstweb1.somewhere.org:80 loadfactor=1
          BalancerMember http://tstweb2.somewhere.org:80 loadfactor=2
          ProxySet lbmethod=byrequests
        </Proxy>
    <Location />
           ProxyPass balancer://mycluster/ stickysession=PHPSESSIONID
        </Location>
</VirtualHost>

這是 test1 在負載平衡器上的樣子...

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/test1/trunk"
    ServerName test1
    ErrorLog "E:/test1/_logs/test1-error.log"
    CustomLog "E:/test1/_logs/test1-access.log" common

    ProxyRequests Off   
    <Proxy *>
      AllowOverride All
      Require all granted
    </Proxy>    
    ProxyPass /balancer-manager !
    ProxyPass / balancer://test1cluster/ stickysession=PHPSESSIONID nofailover=On

    <Location /balancer-manager>
       SetHandler balancer-manager
       Require all granted
        </Location>
    <Location />
       ProxyPass balancer://test1cluster/ stickysession=PHPSESSIONID
    </Location>

    #ProxyPassReverse / http://tstweb1.somewhere.org:80
    #ProxyPassReverse / http://tstweb2.somewhere.org:80
    <Proxy balancer://test1cluster>
      BalancerMember http://tstweb1.somewhere.org:80 loadfactor=1
      BalancerMember http://tstweb2.somewhere.org:80 loadfactor=2
      ProxySet lbmethod=byrequests
    </Proxy>
</VirtualHost>

在每台工作機器上,我都有一個標準的虛擬主機設定。沒有代理通行證,只有標準配置,如果網域指向機器,機器就可以正常運作。

這是我第一次嘗試設定所有這些,因此我歡迎任何可以幫助我讓多個網域和網站在單一叢集上工作的回饋。

有人知道如何解決這個問題嗎?

相關內容