Cause principale des erreurs «curl: (56) SSL read: errno -5961»

9

J'évaluais quelques échecs SSL et j'ai remarqué que lorsque j'utilisais l' curlun des sites défaillants, j'ai eu curl: (56) SSL read: errno -5961; cependant, mes requêtes google pour cette erreur n'ont pas montré la raison de l'échec d'openssl.

Question : Qu'est-ce que cela signifie lorsque la boucle échoue curl: (56) SSL read: errno -5961?


J'inclus l'intégralité curlci-dessous ...

[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 ~]$

REMARQUE :

Je réponds à ma propre question, dans l'espoir d'aider les futurs googleurs.

Mike Pennington
la source

Réponses:

7

La cause première du problème a été une non-concordance de la couche 2 MTU, ce qui a provoqué l'expiration du socket openssl pendant la transaction curl. Les paquets de taille MTU complète (c'est-à-dire les charges utiles IP de 1 500 octets) ont échoué car un côté du tunnel layer2 ne les laisserait pas passer.

D'autres personnes qui voient cette erreur peuvent ne pas avoir de non-concordance MTU, mais il peut s'agir de tout ce qui fait que la session SSL expire une partie du chemin à travers le curl.

Mike Pennington
la source
Puis-je savoir comment vous résolvez votre problème? Je vous remercie.
@jngshl, j'ai remarqué qu'il y avait un décalage MTU (que j'ai découvert en utilisant la tracepathcommande ). Ensuite, j'ai simplement fait le match MTU dans tout le Vlan.
Mike Pennington du