Ich verwende AWS ELB
. Nachdem ich den ELB-Graphen gesehen hatte, gab es wenige 5XX-Fehler. Ich aktivierte die Protokolle und erfuhr, dass eine der api call
zu registrierten Instanzen Zeitlimit überschritten wurde, da der Fehler auf ELB-Protokolle 504
war. Ich überwachte erneut die registrierten Instanzen, wenn es eine 5XX
Antwort wirft, aber es war nicht. Das Nginx-Keep-Alive-Zeitlimit ist auf 15s
gesetzt und das Timeout von ELB ist 60s
. Wenn also die Anfrage wirklich abgelaufen ist, sollte sie auf Instanzenebene und nicht auf ELB-Ebene abgelaufen sein. Kann jemand vorschlagen, was das mögliche Fehlerszenario sein könnte?AWS ELB wirft 5XX, aber die registrierten Instanzen werfen keine 5XX Fehler
3
A
Antwort
1
Der 504 wird nicht von nginx an den ELB zurückgegeben. Der ELB gibt einen 504 zurück, da das Zeitlimit auf eine Antwort von der API-Instanz wartet. Dies bedeutet auch, dass nginx keinen HTTP-Statuscode für eine Anfrage zurückgeben kann, die noch nicht fertiggestellt wurde. Wie dieses Dokument sagt, sollte zum Beispiel die Keep-Alive-Zeit Ihrer Instanz mindestens der Größe des ELB-Timeouts entsprechen. http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html#ts-elb-errorcodes-http504
Verwandte Themen
- 1. Gibt es eine Möglichkeit, HTTP-Fehler Antworten 5xx und 4xx
- 2. AWS/ELB-Verbindungsabfluss Probleme
- 3. Erlaube HTTP-Zugriff auf AWS-Instanzen nur über ELB
- 4. Wie behandeln Sie HTTP-Fehler in Grails global (Statuscodes 4xx/5xx)?
- 5. Fehler beim Nginx-Server auf AWS ELB (Elastic Load Balancer)
- 6. ELB meldet Instanzen immer als In-Service
- 7. Gilt ELB-Verbindungsabbau, wenn Spot-Instanzen beendet werden?
- 8. aws keine Anmeldeinformationen Fehler
- 9. SQLXML BulkLoader wirft keinen Fehler, aber keine Daten eingefügt
- 10. Wie stoppe ich alte Instanzen von ELB in Ansible?
- 11. Warum kann mein ECS-Dienst keine EC2-Instanzen mit meinem ELB registrieren?
- 12. Jupyter Notebook hinter AWS ELB Terminal Ausgabe
- 13. Sehr heikle ADO.Net Situation, die keinen Fehler wirft, aber sollte
- 14. Verwenden Sie AWS ELB mit PowerDNS
- 15. aws ELB-Protokoll fehlt backend_status_code & elb_status_code
- 16. Einrichten elb mit aws mit ssl cert
- 17. Wie AWS abzufragen, um ELB-Namen und angefügte Instanzen mithilfe von Python-Boto-Modulen zu erhalten?
- 18. Rails Gem installiert, aber wirft Fehler
- 19. ELB-Verbindung, die Konfiguration entleert
- 20. Storyboard wirft Fehler, aber es läuft einwandfrei
- 21. Aws Lambda beschreiben Instanzen Auszeit
- 22. PHP rename() wirft keine Ausnahme bei Fehler
- 23. Haskell: Brackets funktionieren, aber $ wirft einen Fehler
- 24. ASP.Net wirft einen Fehler, aber stellt immer noch die Daten
- 25. Zugriff auf ECS-Instanzen von AWS Lambda läuft in VPC
- 26. MapR Schwein Fehler werfen
- 27. aws describe-Instanzen Abfrage Tags
- 28. eine Struktur mit autofixture Erstellen werfen keine öffentlichen Konstruktor Fehler
- 29. Stündliche Sicherungen für AWS-Instanzen
- 30. Warum wirft Boolean keine StackOverflowException?
Haben Sie einen Eintrag in den Sicherheitsgruppen der Backend-Instanzen, der es dem ELB ermöglicht, eine Verbindung über den konfigurierten Port herzustellen? –
@KarenB der Port ist 80, die für alle offen ist und die ELB wirft 5XX auf bestimmte API-Anrufe zu jeder Zeit. –
Nginx würde keine 504 protokollieren, da 504 eine Zeitüberschreitung ist. Es klingt wie ein Kapazitätsproblem. Überprüfen Sie den Zustand Ihrer Instanz. Wenn Sie eine Datenbank abfragen, vergewissern Sie sich, dass die angeforderten Daten in angemessener Zeit zurückgegeben werden können. –