2013-08-07 12 views
5

Amazon Elastic równoważenia obciążenia (ELB) przeprowadza okresowe kontrole zdrowia:Konfiguracja nginx, aby nie logować się ELB drugorzędnego elementu Healthcheck

Oprócz Health Check można skonfigurować do równoważenia obciążenia, drugi czek zdrowotnej wykonywanych przez usługa chroniąca przed potencjalnymi skutkami ubocznymi spowodowanymi przez kończenie instancji bez wyrejestrowania instancji. Aby wykonać tę kontrolę, moduł równoważenia obciążenia otwiera połączenie TCP na tym samym porcie, które jest skonfigurowane do sprawdzenia poprawności w celu użycia, a następnie zamyka połączenie po zakończeniu sprawdzania poprawności .

nginx rejestruje te zdarzenia z błędem 400, które dzieją się wiele razy w ciągu minuty:

[07/Aug/2013:18:32:27 +0000] "-" 0.000 400 0 "-" "-" "-"

Jak skonfigurować nginx aby nie logować się te wydarzenia?

+0

PS: ustawienie niezalogowania 'default_server' nie jest rozwiązaniem, używamy' default_server' do kierowania ruchu z wielu hostów na właściwy serwer nadrzędny. – Meekohi

Odpowiedz

7

Rozwiązaniem jest nie używanie starszych nieobsługiwanych wersji nginx. Począwszy od wersji 1.3.15 (całkiem stara), nginx nie rejestruje 400 błędów w takich przypadkach.

See changelog dla informacji: http://nginx.org/en/CHANGES

*) Change: opening and closing a connection without sending any data in 
    it is no longer logged to access_log with error code 400. 
+0

Czy korzystasz z modułów innych firm? Mogą łamać Nginx na różne sposoby. – VBart

Powiązane problemy