2016-10-23 2 views
0

Ich habe Lack 4 Server arbeitet mit Nginx als Reverse-Proxy mit ELB verbunden.Varnish + nginx + ELB 499 Antworten

Alle 2 Tage oder so ist mein Server nicht mehr reagiert, und ich sehe 499 Antworten in nginx access.log

Neustart nginx das Problem zu lösen.

Warum bekomme ich diese 499 Antworten?

Warum Neustart nginx das Problem zu lösen?

Antwort

1

löste ich meine Frage nach zwei Tatsachen zu verstehen:

1) ELB-Instanz hat dynamische DNS-Namen

2) DNS-Namen nur nginx resolve auf Reload/Neustart

Das Problem war, dass die ELB änderte seine IP-Adresse und nginx behielt die alte IP-Adresse.

Die Lösung ist, Resolver in nginx.conf zu verwenden. Hier ist meine nginx.conf:

http { 

    resolver x.x.x.x valid=30s; 

} 

server { 

    set $elb "example.com"; 

    location/{ 

     proxy_pass http://$elb; 

     } 
} 

Der Resolver-IP-Adresse ein DNS-Server so in /etc/resolv.conf sein sollte.

+1

Ich verstehe das nicht vollständig. Was genau machst du in dieser Konfiguration? –

+0

Ich setze die Elb-Adresse auf einen Parameter und Proxy_pass dort. Außerdem habe ich einen Resolver eingestellt, so dass diese Adresse auf dem neuesten Stand ist (mit der richtigen IP-Adresse) @AbhyuditJain – guyyug

+0

Wenn die IP-Adresse ändert dann wie setze ich die IP? Sie sind hart Codierung ip? –