Causa raiz dos erros "curl: (56) SSL read: errno -5961"

9

Eu estava avaliando algumas falhas de SSL e percebi que quando uso curlem um dos sites com falha, recebi curl: (56) SSL read: errno -5961; no entanto, minhas consultas ao google para esse erro não mostraram o motivo da falha no openssl.

Pergunta : O que significa quando a curvatura falha curl: (56) SSL read: errno -5961?


Estou incluindo o completo curlabaixo ...

[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 :

Estou respondendo à minha própria pergunta, na esperança de ajudar futuros googlers.

Mike Pennington
fonte

Respostas:

7

A causa raiz do problema acabou sendo uma incompatibilidade de MTU da camada2, que causou o tempo limite do soquete openssl durante parte do caminho através da transação de curvatura. Pacotes completos do tamanho de MTU (ou seja, cargas úteis IP de 1500 bytes) falharam porque um lado do túnel da camada2 não permitiria a passagem deles.

Outras pessoas que veem esse erro podem não ter uma incompatibilidade de MTU, mas pode ser qualquer coisa que faça com que uma sessão SSL atinja o tempo limite durante o caminho curl.

Mike Pennington
fonte
Posso saber como você resolve seu problema? Obrigado.
@ jngshl, notei que havia uma incompatibilidade no MTU (que descobri usando o tracepathcomando ). Então eu simplesmente fiz o MTU combinar em toda a Vlan.
Mike Pennington