Wie behebe ich ConnectionReset-Fehler, wenn ich Objekte von Amazon S3 hoch- oder herunterlade?
Wenn ich Objekte in meinem Amazon Simple Storage Service (Amazon S3)-Bucket hoch- oder herunterlade, erhalte ich eine der folgenden Fehlermeldungen: ConnectionResetError, Connection Aborted oder Connection reset by peer.
Lösung
Du erhältst Fehler beim Zurücksetzen der Verbindung, weil deine Anwendung keine Verbindung zu Amazon S3-Endpunkten herstellen kann. Dies kann daran liegen, dass Verbindungen geschlossen werden oder Verbindungen inaktiv werden, wenn auf S3-Ressourcen zugegriffen wird. Diese Fehler treten aufgrund von Problemen mit der Anwendungs- oder Client-Ebene, dem Netzwerkpfad oder einer zwischengeschalteten Ressource auf. Um die Ursache des Problems zu ermitteln, musst du herausfinden, welche Komponente den Fehler verursacht.
Konnektivität testen
Um die Konnektivität zu testen, führe die folgenden Befehle aus, um zu überprüfen, ob dein Computer eine Verbindung zu S3 über HTTP oder HTTPS herstellen kann.
$ telnet mybucket.s3.REGION-CODE.amazonaws.com 80 $ telnet mybucket.s3.REGION-CODE.amazonaws.com 443
SSL-Validierung umgehen
Füge den Parameter --no-verify-ssl in deine Anfrage ein, um die SSL-Validierung zu umgehen. Dieser Parameter verhindert, dass die SSL-Zertifikate validiert werden. Die Anfrage läuft jedoch über Port 443. Dieser Ansatz hilft dir, Probleme im Zusammenhang mit der SSL-Validierung zu isolieren.
Netzwerkverkehr analysieren
Führe eine Paketerfassung durch, um den Netzwerkverkehr zwischen deinem Computer und Amazon S3 zu analysieren. Analysiere die Paketerfassung, um festzustellen, ob der Client oder Server das RST-Flag auslöst.
- Wenn dein Netzwerk das RST-Flag auslöst, notiere dir die IP-Adresse und den Vorgang, bei dem das RST-Flag ausgelöst wird. Die Prozesse umfassen DNS-Lookup, TCP-Handshake, SSL-Handshake und Datenübertragung.
- Wenn dein Netzwerk während eines SSL-Handshakes das RST-Flag auslöst, stelle sicher, dass dein Gerät dem von Amazon zurückgegebenen Zertifikat vertraut.
Verbindung debuggen
Hinweis: Wenn du beim Ausführen von Befehlen der AWS Command Line Interface (AWS CLI) Fehler erhältst, stelle sicher, dass du die neueste Version der AWS CLI verwendest.
Führe den AWS-CLI-Befehl cp auf dem Computer aus, auf dem der Fehler aufgetreten ist, um zu versuchen, eine Verbindung zum Amazon S3-Bucket herzustellen. Füge das --debug-Flag in den Befehl ein:
aws s3 cp/sync SOURCE_FILE_PATH/SOURCE_FILE_NAME DESTINATION --debug
Analysiere die Anforderungs-Header, die Anforderungsmethode und die Antwort. Wenn das Problem nur sporadisch auftritt und einige Anfragen erfolgreich sind, überprüfe, ob es Unterschiede zwischen einer erfolgreichen und einer erfolglosen Anfrage gibt.
Überprüfe die Ausgabe des Befehls, um zu überprüfen, ob ein Proxy in der Netzwerkumgebung den Fehler verursacht. Die Ausgabe weist auf einen Proxy-Fehler oder einen Proxy-Verbindungsfehler für Fehler hin, die aufgrund eines HTTP-Proxys auftreten. Wenn ein SSL-Proxy den Fehler verursacht hat, wird einer der Fehler beim Zurücksetzen der Verbindung angezeigt, wenn versucht wird, den SSL-Handshake herzustellen.
HTTP Keep-Alive überprüfen
Aktiviere HTTP Keep-Alive auf deinem Computer, sodass dein Computer eine einzige TCP-Verbindung verwendet, um für mehrere HTTP-Anfragen und -Antworten geöffnet zu bleiben. Führe den folgenden Befehl aus, um zu überprüfen, ob TCP Keep-Alive aktiviert ist:
curl -Iv s3.amazonaws.com 2>&1 | grep -i 'connection #0'
Wenn TCP Keep-Alive aktiviert ist, zeigt die Ausgabe die folgende Zeichenfolge an:
Connection #0 to host s3.amazonaws.com left intact
Zwischenressourcen überprüfen
Zwischenressourcen wie ein NAT-Gateway, eine Firewall oder ein Load Balancer können die Verbindung vorzeitig schließen, wenn diese Ressourcen stark ausgelastet sind. Außerdem können sie die Verbindung vorzeitig schließen und als unterbrochen markieren, wenn über einen bestimmten Zeitraum keine Daten über die Leitung geschrieben oder empfangen werden.
- Themen
- Storage
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 10 Monaten