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

При попытке загрузить баланс моих серверов в IIS с помощью nginx. Если я отключу один из пулов приложений, nginx должен прекратить отправлять запросы на этот сервер. Но то, что я вижу, nginx будет отправлять запросы на оба сервера. Это моя конфигурация.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

Пул приложений не является сервером, и этот настрой будет работать, только если вы отключите IIS на веб-сервере, если я не ошибаюсь. –

+0

Я имел в виду закрытие пула приложений. Даже если я выключу сервер iis, nginx вернет обратно 404 статуи. в идеале он должен был отписаться. – Jitin

ответ

0

, если я не ошибаюсь, Nginx все еще продолжают называть этот сервер, потому что он не находит что-то странное ... порт 80 доступен, и вы должны изменить метод проверки, чтобы найти пример HTTP error.For этот: https://www.nginx.com/resources/wiki/modules/healthcheck/ ... если ответ HTTP не 200, он считает, что сервер «плохой», и он удаляет его из пула.

 Смежные вопросы

  • Нет связанных вопросов^_^