Ich stand vor diesem Problem beim Klonen von Daten (über HTTP) aus einem entfernten Git-Repository, das auf einer von Elastic Beanstalk verwalteten AWS EC2-Instanz gehostet wird. Das Klonen selbst wurde ebenfalls auf einer AWS EC2-Instanz durchgeführt.
Ich habe alle vorgenannten Lösungen und ihre Kombinationen ausprobiert:
- Einstellung der Git
http.postBuffer
- Einstellung
http.maxrequestbuffer
- Ausschalten der Git-Kompression und Ausprobieren von "shallow".
git clone
und dann git fetch --unshallow
- siehe fatal: early EOF fatal: index-pack fehlgeschlagen
- Einstellung des GIT-Speichers -
packedGitLimit
et al, siehe hier: fatal: early EOF fatal: index-pack fehlgeschlagen
- nginx-Konfiguration anpassen - Einstellung
client_max_body_size
sowohl auf den großen Wert als auch auf 0 (unbegrenzt); die Einstellung proxy_request_buffering off;
- Einstellung
options single-request
in /etc/resolv.conf
- Drosselung des Git-Client-Durchsatzes mit tröpfeln
- Strace für die Verfolgung verwenden
git clone
- Überlegungen zur Aktualisierung des Git-Clients
Nach all dem stand ich immer wieder vor demselben Problem, bis Ich habe festgestellt, dass das Problem im Elastic Load Balancer (ELB) liegt, der die Verbindung unterbricht . Nach dem Zugriff auf die EC2-Instanz (diejenige, die das Git-Repositorium hostet) direkt, anstatt über ELB zu gehen, habe ich es endlich geschafft, das Git-Repositorium zu klonen! Ich bin mir immer noch nicht sicher, welcher der ELB-Parameter (Timeout) dafür verantwortlich ist, also muss ich noch etwas nachforschen.
UPDATE
Es scheint, dass die Änderung Anschluss Entwässerungspolitik für AWS Elastic Load Balancer durch Erhöhen der Zeitüberschreitung von 20 Sekunden auf 300 Sekunden hat dieses Problem für uns gelöst.
Die Beziehung zwischen dem git clone
Fehler und "Verbindungsabbrüche" sind seltsam und für uns nicht offensichtlich. Es könnte sein, dass die Änderung des Timeouts für den Verbindungsabbau einige interne Änderungen in der ELB-Konfiguration verursacht hat, die das Problem mit dem vorzeitigen Schließen der Verbindung behoben haben.
Dies ist die entsprechende Frage im AWS-Forum (noch keine Antwort): https://forums.aws.amazon.com/thread.jspa?threadID=258572