No estoy seguro si tuve exactamente el mismo problema, pero el mensaje de error fue el mismo. Solo parecía estar sucediendo en el cuadro ubuntu en el que configuré un servidor git, por alguna razón el cents box con un servidor git configurado estaba bien.
Lo acabo de resolver después de 3 o 4 días. Resultó ser porque la biblioteca subyacente de Curl de git tiene una implementación interrumpida Keep-alive (terminé descargando el tráfico HTTP y verificando el comportamiento a mano).
En resumen Curl (al menos la versión utilizada en cada implementación de Git que pude encontrar, incluyendo git de línea de comando y EGit de eclipse) no parece interpretar correctamente el encabezado de respuesta de conexión, o más correctamente no parece interpretar correctamente la ausencia de ella.
Para solucionar el problema, debe configurar el servidor virtual SSL dentro del apache que está sirviendo su repositorio GIT con una directiva adicional específica para git. Agregue estas líneas justo antes del </VirtualHost >.
BrowserMatch "git" nokeepalive ssl-unclean-shutdown
Usted lamentablemente no se puede decir que Apache acaba de rebajar a HTTP/1.0 (sería más limpia) porque Curl no puede manejar eso, sino que puede simplemente decir que para forzar un Connection: close en cada petición cuales Curl no sabe cómo manejarlo.
En una coincidencia engañosa, si intenta probar Curl directamente sin este cambio, parecerá que funciona, porque hace una sola solicitud y luego aborta. Solo haciendo que curl ejecute dos solicitudes en la misma conexión keep-alive sobre ssl, este problema se hará evidente.
¿Su servidor git está realmente disponible fuera de la subred de su casa? ¿Puedes, por ejemplo, SSH hacerlo con éxito desde el trabajo? –
sí. Mi servidor es un servidor público con todos los puertos útiles abiertos. – Vito