Causa raíz de los errores "curl: (56) SSL read: errno -5961"

9

Estaba evaluando algunas fallas de SSL, y noté que cuando uso curluno de los sitios con fallas, obtengo curl: (56) SSL read: errno -5961; sin embargo, mis consultas de google para ese error no mostraron la razón del error de openssl.

Pregunta : ¿Qué significa cuando falla el rizo curl: (56) SSL read: errno -5961?


Estoy incluyendo el completo a curlcontinuación ...

[mpenning@mpenning-lnx ~]$ curl -vk https://192.0.2.168/
* About to connect() to 192.0.2.168 port 443 (#0)
*   Trying 192.0.2.168... connected
* Connected to 192.0.2.168 (192.0.2.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* SSL connection using TLS_RSA_WITH_AES_256_CBC_SHA
* Server certificate:
*       subject: CN=foo-console,L=New York,OU=IT Infrastructure,O=Sesame Street
*       start date: Aug 21 23:36:51 2013 GMT
*       expire date: Aug 21 23:36:51 2015 GMT
*       common name: foo-console
*       issuer: CN=foo-console,L=New York,OU=IT Infrastructure,O=Sesame Street
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.14.0.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: 192.0.2.168
> Accept: */*
>
< HTTP/1.1 200 OK
* SSL read: errno -5961
* Closing connection #0
curl: (56) SSL read: errno -5961
[mpenning@mpenning-lnx ~]$

NOTA :

Estoy respondiendo mi propia pregunta, con la esperanza de ayudar a los futuros googlers.

Mike Pennington
fuente

Respuestas:

7

La causa raíz del problema terminó siendo una falta de coincidencia de la MTU de capa 2, lo que provocó que el socket openssl agotara parte del camino a través de la transacción curl. Los paquetes completos del tamaño de MTU (es decir, cargas útiles de IP de 1500 bytes) fallaron porque un lado del túnel de capa 2 no les permitió pasar.

Es posible que otras personas que vean este error no tengan una falta de coincidencia de MTU, pero podría ser cualquier cosa que provoque que una sesión SSL expire durante el proceso curl.

Mike Pennington
fuente
¿Puedo saber cómo solucionas tu problema? Gracias.
@jngshl, noté que había una falta de coincidencia de MTU (que descubrí usando el tracepathcomando ). Luego simplemente hice el partido MTU en todo el Vlan.
Mike Pennington