2016-08-11 5 views
1

mod_proxyとwildfly(apache 224とwildfly 9)のApacheロードバランサがあります。mod_proxyを使用したWebサービスのためのapache httpdとwildflyのロードバランサ

私はwildflyのドメインに4つのサーバーを持っており、ロードバランサは "hello world"アプリケーションでうまく動作し、バランサマネージャではどのようにリクエストが各サーバーに送信されるかを確認できます。

問題は、いくつかのREST Webサービスを持つアプリケーションを使用すると、GETメソッドといくつかのヘッダを認証用に送信していて、何とかアプリケーションがエラーに応答しています。ロードバランサですが、サーバーに直接送信すると正しく動作します。

<VirtualHost *:80> 
ProxyRequests Off 
<Proxy balancer://mycluster> 
    BalancerMember http://localhost:8080/ loadfactor=25 
    BalancerMember http://localhost:8230/ loadfactor=25 
    BalancerMember http://localhost:8330/ loadfactor=25 
    BalancerMember http://localhost:8430/ loadfactor=25 
</Proxy> 
<Location /balancer-manager> 
    SetHandler balancer-manager 
    Order Deny,Allow 
    Allow from all 
</Location> 
<Location /test> 
    Order allow,deny 
    Allow from all 
</Location> 
ProxyPass /test balancer://mycluster stickysession=JSESSIONID 

を次のように私のcofigurationが行く

私は郵便配達を使用してテストし、getメソッドおよび認証用のヘッダーとリクエストを送信しています:基本的な{base64でコード}次のように:

http://127.0.0.1/test/myproject.ws/myproject/get_list?key=T11108101191&page=1

これはエラーになります。これはOK

を行く

http://127.0.0.1:8080/myproject.ws/myproject/get_list?key=T11108101191&page=1

と私は上記を試してみたが、POSTメソッドで、それはロードバランサと同じエラーを取得するとき:

は、私はこれをしようとします。

私は間違っていると思いますか?

PS:プロジェクトのWEB-INF/web.xmlを入れてみましたが、同じエラーが表示されます。

+0

わからない場合は、 'はProxyPass/test'を使用している場合は、'使用BalancerMember次のとおりです。http:

新しい設定が行く// localhostを: 8080' –

+1

ありがとう!それが問題でした。私は良いことをすべて見たので、これについてナッツを得ていたし、ログには何の誤りもなかった。 – user3123488

答えて

1

ドゥサンバジックのおかげで、彼は私が持っていた問題を見ました。バランサのメンバーでは、 "/"でルートを完成させていましたが、ProxyPassを使用したときは "/"で始まり、その文字を複製していました。何とか、helloworldアプリケーションでは正常に動作しましたが、パラメータを渡すと失敗しました。それが関連しているが、あなたは最後のスラッシュと一致している必要があり

<VirtualHost *:80> 
    ProxyRequests Off 
<Proxy balancer://mycluster> 
    BalancerMember http://localhost:8080 loadfactor=25 
    BalancerMember http://localhost:8230 loadfactor=25 
    BalancerMember http://localhost:8330 loadfactor=25 
    BalancerMember http://localhost:8430 loadfactor=25 
</Proxy> 
<Location /balancer-manager> 
    SetHandler balancer-manager 
    Order Deny,Allow 
    Allow from all 
</Location> 
<Location /test> 
    Order allow,deny 
    Allow from all 
</Location> 

ProxyPass /test balancer://mycluster stickysession=JSESSIONID 
</VirtualHost> 
関連する問題