2016-05-24 7 views
2
**NGINX LOad Balancing** 

nginxを使用してIISでホストされているサーバの負荷を分散しようとしています。私は、アプリケーションプールのいずれかをシャットダウンすると、nginxは、そのサーバーへのリクエストの送信を停止する必要があります。しかし、私はnginxが両方のservers.Belowに要求を送信し続けていると私の設定です。nginxとiisサーバ、ロードバランシング

 events { 
     worker_connections 2048; 
    } 


    http { 
     include  mime.types; 
     default_type application/octet-stream; 

     sendfile  off; 
     #tcp_nopush  on; 

     keepalive_timeout 0; 

     upstream xxx { 

      server xxxxxxx:80 max_fails=1 fail_timeout=30; 
      server xxxxxxxx:80 max_fails=1 fail_timeout=30; 
     } 

     server { 
      listen  zzzz; 
      server_name localhost; 


      location /yy { 

       proxy_cache off; 
       proxy_redirect off; 
       proxy_set_header X-Real-IP   $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header X-Forwarded-Proto $scheme; 
       proxy_set_header Host     $http_host; 
       proxy_set_header X-NginX-Proxy true; 
       proxy_set_header Connection ""; 

       proxy_http_version 1.1;  
       proxy_pass http://xxx; 
      } 
     } 

Nginxは、アプリケーションプールをシャットダウンしても、依然として他のサーバーに要求を送信し続けます。

 <HTML> 
<HEAD> 
    <TITLE>Service Unavailable</TITLE>  
</HEAD> 
<BODY> 
    <h2>Service Unavailable</h2> 
    <hr> 
    <p>HTTP Error 503. The service is unavailable.</p> 
</BODY> 
    </HTML> 
+0

アプリケーションプールはサーバーではなく、誤っていない場合は、Webサーバー上のIISをシャットダウンした場合にのみこの設定が機能します。 –

+0

私は、アプリケーションプールをシャットダウンすることを意味します。 iisサーバーをシャットダウンしても、nginxは404 statuysを戻し続けます。理想的には、購読を停止する必要があります。 – Jitin

答えて

0

私は間違っていないよ場合は、nginxのはまだ彼は奇妙な何かを見つけることができませんので、そのサーバーを呼び出すために引き続き...ポート80が到達可能であり、あなたがHTTP error.For例を見つけるために、方法を確認する変更する必要がありますこの1つ:https://www.nginx.com/resources/wiki/modules/healthcheck/ ... http応答が200でない場合、彼はそのサーバーを「悪い」とみなし、プールから削除します。

関連する問題