2

複数の Weblogic インスタンスを指すように Apache 2.2 プロキシ サーバーを構成しようとしています。マイナーな点を除いて、すべてにおいてかなりうまくいっています。

これを機能させることができます: ProxyPass /QA http://IP:PORT/

http://IP:PORT/QAにアクセス

しかし、これを機能させることができません: ProxyPass / http://IP:PORT/

http://IP:PORT/にアクセスして

ProxyPass をルート (/) にマップできない理由がわかりません

4

2 に答える 2

0

アレックス、助けてくれてありがとう!

同様の環境をセットアップしようとしている他の人のために、私が行ったことを以下に貼り付けました。

ProxyRequests OFF

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule headers_module modules/mod_headers.so

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

Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://cluster>
    BalancerMember http://IP:PORT/ route=1
    BalancerMember http://IP:PORT/ route=2
    ProxySet stickysession=ROUTEID
</Proxy>

<VirtualHost *:80>
    ProxyPass / balancer://cluster/
    ProxyPassReverse / balancer://cluster/
</VirtualHost> 
于 2010-10-13T02:53:57.037 に答える
0

私はApacheがそれを許可していないと信じています。ここには、競合するディレクティブの順序と優先順位に関する潜在的な問題があります。/QA/ の要求を受け取った場合、それは /QA 一致または / 一致のどちらに従うべきですか? 複数の管理対象サーバーを同じアドレス/ポートにマップしようとしている可能性があると思いますが、各サブパスを識別する必要はありません。つまり、多数ではなく単一のルールです。documentRoot との競合がまだあります。おそらく、ルートで照合している場合、Apache レイヤーのポイントは何でしょうか。すべてがそのまま渡され、Apache 自体によって提供されるものは何もありません。(これは、そうする正当な理由が決してないという意味ではありませんが、Apacheがそう考える理由はわかります)。

私が知っている唯一の方法は、ダミーの仮想ホスト内です (これが唯一のリッスン ポートにあるかどうかはわかりませんが、私はそう思います):

<VirtualHost *:8080>
    ProxyPass / http://IP:PORT/
    ProxyPassReverse / http://IP:PORT/
</VirtualHost>

また、WebLogic プロキシ プラグインを確認することもできます。

<Location />
    SetHandler weblogic-handler
</Location>

<IfModule mod_weblogic.c>
    WebLogicHost IP
    WebLogicPort PORT
</IfModule>
于 2010-10-10T08:17:20.093 に答える