สาเหตุหลักของข้อผิดพลาด“ curl: (56) SSL อ่าน: errno -5961” ข้อผิดพลาด


9

ฉันกำลังประเมินความล้มเหลวของ SSL บางอย่างและสังเกตว่าเมื่อฉันใช้curlกับหนึ่งในไซต์ที่ล้มเหลวฉันได้รับcurl: (56) SSL read: errno -5961; อย่างไรก็ตามการค้นหา google ของฉันสำหรับข้อผิดพลาดนั้นไม่ได้แสดงสาเหตุของความล้มเหลว openssl

คำถาม : การขดล้มเหลวหมายความว่าcurl: (56) SSL read: errno -5961อย่างไร?


ฉันกำลังรวมที่สมบูรณ์curlด้านล่าง ...

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

หมายเหตุ :

ฉันตอบคำถามของฉันเองโดยหวังว่าจะช่วยชาว Google ในอนาคต

คำตอบ:


7

สาเหตุที่แท้จริงของปัญหาเกิดจากการที่เลเยอร์ 2 MTU ไม่ตรงกันซึ่งทำให้ซ็อกเก็ต openssl หมดเวลาผ่านการทำธุรกรรม curl แพ็กเก็ตขนาดเต็ม MTU (เช่น 1500 payte IP payloads) ล้มเหลวเนื่องจากด้านหนึ่งของอุโมงค์ layer2 จะไม่อนุญาตให้ผ่าน

คนอื่นที่เห็นข้อผิดพลาดนี้อาจไม่มี MTU ที่ไม่ตรงกัน แต่อาจเป็นอะไรก็ได้ที่ทำให้เซสชัน SSL หมดเวลาผ่านcurlไป


ฉันขอทราบวิธีแก้ไขปัญหาของคุณได้ไหม ขอบคุณ.

@jngshl ฉันสังเกตเห็นว่ามี MTU ไม่ตรงกัน (ซึ่งฉันค้นพบโดยใช้tracepathคำสั่ง ) จากนั้นฉันก็ทำการแข่งขัน MTU ตลอดทั้ง Vlan
Mike Pennington
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.