Penyebab root dari kesalahan "curl: (56) SSL read: errno -5961"

9

Saya mengevaluasi beberapa kegagalan SSL, dan memperhatikan bahwa ketika saya menggunakan curlsalah satu situs yang gagal, saya dapat curl: (56) SSL read: errno -5961; namun, pertanyaan google saya untuk kesalahan itu tidak menunjukkan alasan kegagalan openssl.

Pertanyaan : Apa artinya ketika curl gagal curl: (56) SSL read: errno -5961?


Saya termasuk yang lengkap di curlbawah ini ...

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

CATATAN :

Saya menjawab pertanyaan saya sendiri, dengan harapan dapat membantu para googler di masa depan.

Mike Pennington
sumber

Jawaban:

7

Akar penyebab masalah akhirnya menjadi ketidakcocokan MTU layer2, yang menyebabkan soket openssl untuk time out sebagian dari jalan melalui transaksi curl. Paket-paket berukuran penuh MTU (mis. 1500 byte muatan IP) gagal karena satu sisi terowongan layer2 tidak akan membiarkannya lewat.

Orang lain yang melihat kesalahan ini mungkin tidak memiliki ketidaksesuaian MTU, tapi itu bisa apa saja yang menyebabkan sesi SSL kehabisan waktu selama proses curl.

Mike Pennington
sumber
Bolehkah saya tahu bagaimana Anda memperbaiki masalah Anda? Terima kasih.
@ jngshl, saya perhatikan bahwa ada ketidakcocokan MTU (yang saya temukan dengan menggunakan tracepathperintah ). Lalu aku hanya membuat pertandingan MTU di seluruh Vlan.
Mike Pennington