2017-06-19 8 views
0

現在、Apacheのロードバランサは2つしかありません。管理サイトがこのマシンにもあるCDN上のファイルにアクセスする必要があるため、「admin」で始まるURLを特定のインスタンス(http://localhost:16666/)にマッピングする必要があります。私はこのフォルダを別のサーバにマウントするか、これを行う別のサービスを実装することでこれを処理できますが、これは今私が今望む最後のものです。私はバランサーではなくメンバーにこれらをマップするための新しいプロキシパスルールを作成しようとしていましたが、単純に無視しています。URLパターンをApache内の特定のバランサメンバーに強制します。

私のバーチャルホストの設定の重要な部分:

  <Location /balancer-manager> 
       SetHandler balancer-manager 
      </Location> 

      <Proxy balancer://videoportal> 
        BalancerMember http://localhost:16666 
        BalancerMember http://example.com:16666 
        Require all granted 
        ProxySet lbmethod=byrequests 
      </Proxy> 

      <Proxy *> 
        Order deny,allow 
        Allow from all 
      </Proxy> 

      ErrorLog /var/log/apache2/videoportal-error.log 

      ProxyPass /balancer-manager ! 
      ProxyPass "/admin" "http://localhost:16666/admin" 
      ProxyPassReverse "/admin" "http://localhost:16666/admin" 

      ProxyPass/balancer://videoportal/ 
      ProxyPassReverse/balancer://videoportal/ 
      ProxyRequests Off 

何かアドバイス私が間違って何をやっていますか?

答えて

0

まず、あなたは、Apache 2.2とApacheはApache 2.2の使用で2.4コンフィグ

を混合している

Order deny,allow 
Allow from all 

//あなたのApacheの設定のApache 2.4では//

<Proxy *> 
       Order deny,allow 
       Allow from all 
</Proxy> 

Require all granted 

// Apacheの設定//

<Proxy balancer://videoportal> 
    ... 
    Require all granted 
    ProxySet lbmethod=byrequests 
</Proxy> 

第2バランサ定義

... 
    SetHandler balancer-manager 
</Location> 

ProxyPass "/admin" "http://localhost:16666/admin" 
ProxyPassReverse "/admin" "http://localhost:16666/admin" 

<Proxy balancer://videoportal> 
     BalancerMember http://localhost:16666 
     ... 
+0

は、あなたが/必要と秩序の混合ルールについて正しいです、ありがとうございます。 – Tacsiazuma

0

前/管理者を置くしようと私が問題だったものを考え出しました。

私は、このための場所のルールを作成し、それが働いている場合は追跡するために、ヘッダーを追加しました:

 <Location /balancer-manager> 
      SetHandler balancer-manager 
     </Location> 

     <Proxy balancer://videoportal> 
       BalancerMember http://localhost:16666 
       BalancerMember http://example.com:16666 
       Require all granted 
       ProxySet lbmethod=byrequests 
     </Proxy> 

     <Proxy *> 
       Require all granted 
     </Proxy> 

     ErrorLog /var/log/apache2/videoportal-error.log 

     ProxyPass /balancer-manager ! 

     # This is the new part 
     <Location "/admin"> 
      ProxyPass "http://localhost:16666/admin" 
      ProxyPassReverse "http://localhost:16666/admin" 
      Header set ADMIN "true" 
     </Location> 

     # end of new part 

     ProxyPass/balancer://videoportal/ 
     ProxyPassReverse/balancer://videoportal/ 
     ProxyRequests Off 
関連する問題