“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

이 문제의 근본 원인은 layer2 MTU 불일치로 인해 openssl 소켓이 curl 트랜잭션을 통해 시간 초과되었습니다. layer2 터널의 한쪽이 통과 할 수 없기 때문에 전체 MTU 크기의 패킷 (예 : 1500 바이트 IP 페이로드)이 실패했습니다.

이 오류가 발생하는 다른 사람들은 MTU 불일치가 없을 수 있지만 SSL 세션이 curl.


문제를 어떻게 해결하는지 알 수 있습니까? 감사합니다.

@jngshl, MTU 불일치가 있음을 알았습니다 (이 tracepath명령 을 사용하여 발견했습니다 ). 그런 다음 전체 Vlan에서 MTU를 간단히 일치 시켰습니다.
Mike Pennington
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.