2017-03-15 27 views
0

私の設定は、4つのWildfly 10.1サーバーノードの前にあるApache Httpd 2.4サーバーです。私はロードバランシングのためにmod_clusterを使用していますが、ほとんどすべてがうまく動作しています。しかし、数回、毎日が、これはApacheのエラーログに表示されます。Apache mod_clusterはノードへの接続を無効にします

[Wed Mar 15 09:15:18.736665 2017] [proxy:error] [pid 18936:tid 1784] AH00940: http: disabled connection for (10.10.87.53) 
[Wed Mar 15 09:15:59.955515 2017] [proxy:error] [pid 18936:tid 1784] AH00940: http: disabled connection for (10.10.87.52) 

これらのエラーが表示されたら、ユーザーは、システムからログアウトしていることを訴えます。これは、私がスティッキーセッションを使用しているために発生し、エラーが表示されたときに、誰もがあるノードから別のノードに移動しているように見えます。

しかし、これらのエラーはログに記録されていますが、ノードはまだアクティブであり、1分後にテストすると動作します。何が起こったのか分かりませんが、それはただちに起こります。ここで

は私のApacheのmod_clusterの設定ファイルである:

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
LoadModule proxy_ajp_module modules/mod_proxy_http.so 
LoadModule cluster_slotmem_module modules/mod_cluster_slotmem.so 
LoadModule manager_module modules/mod_manager.so 
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so 
LoadModule advertise_module modules/mod_advertise.so 

<IfModule manager_module> 
    Listen 10.10.87.50:16666 
    ManagerBalancerName nmcluster 

    <VirtualHost 10.10.87.50:16666> 

     <Location /> 
      Require ip 10.10.87 
     </Location> 

     KeepAliveTimeout 300 
     MaxKeepAliveRequests 0 
     AdvertiseFrequency 5 
     AllowDisplay On 
     AdvertiseGroup 224.0.1.105:23364 
     EnableMCPMReceive 

     <Location /mod_cluster_manager> 
      SetHandler mod_cluster-manager 
      Require ip 10.10.87 
     </Location> 

    </VirtualHost> 
</IfModule> 

そしてここWildflyでconfigです:

<subsystem xmlns="urn:jboss:domain:modcluster:2.0"> 
    <mod-cluster-config advertise-socket="modcluster" proxies="proxy" balancer="nmcluster" connector="default"> 
     <dynamic-load-provider> 
      <load-metric type="cpu"/> 
     </dynamic-load-provider> 
    </mod-cluster-config> 
</subsystem> 
... 
<http-listener name="default" socket-binding="http" redirect-socket="https" proxy-address-forwarding="true" enable-http2="true"/> 
... 
<socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/> 

がどのように私はスティッキーセッションは、より粘着性にすることができますか?それとも、エラーが起きるのをどうやって止めることができますか?

ノードがダウンしている場合でもユーザーは別のノードに移動することを願っていますが、ノードが数秒間少し遅いために発生したくないのです。良いよりも。

これらの接続が解除される理由もわかりません。どんな理論も認められるだろう。

答えて

1

ApacheサーバーとWildflyサーバーの間で処理するために10秒以上かかる大きなファイルをアップロードすると、上記の「無効な接続」エラーが発生し、すべてのユーザーがセッションを失い、ログアウトしたように見えます。

解決方法は、Wildflyでpingを10秒以上に設定することです。たとえばping="60"については、次のように:Wildflyを変更して再起動した後

<subsystem xmlns="urn:jboss:domain:modcluster:2.0"> 
    <mod-cluster-config advertise-socket="modcluster" proxies="proxy" balancer="nmcluster" connector="default" ping="60"> 
     <dynamic-load-provider> 
      <load-metric type="cpu"/> 
     </dynamic-load-provider> 
    </mod-cluster-config> 
</subsystem> 

さらに、同様にApacheを再起動することが非常に重要です。 Apacheを再起動しないと、mod_cluster-managerは新しい設定を通知しますが、Apacheはそれを使用しません。

関連する問題