CURL이 자체 서버에 연결할 수 없는 이상한 문제가 발생했습니다. 예를 들어, 내가 서버에 있다면example.com
wget https://example.com/ <--- WORKS FIND
curl https://example.com gets error: 35 SSL connect error
Curl은 다른 외부 SSL 주소에 연결하는 데는 잘 작동하지만 자체적으로는 작동하지 않습니다.
컬은 SSL 없이도 스스로 연결할 수 있습니다.
이것은 컬 -v의 출력입니다:
curl -v https://example.com/
* About to connect() to example.com port 443 (#0)
* Trying 50.70.60.100... connected
* Connected to example.com (50.70.60.100) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12286
* Error in TLS handshake, trying SSLv3...
> GET / HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: example.com
> Accept: */*
>
* Connection died, retrying a fresh connect
* Closing connection #0
* Issue another request to this URL: 'https://example.com/'
* About to connect() to example.com port 443 (#0)
* Trying 50.70.60.100... connected
* Connected to example.com (50.70.60.100) port 443 (#0)
* TLS disabled due to previous handshake failure
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12286
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
답변1
NSS error -12286
~에 따르면NSS 문서,-12286은 다음을 의미합니다.
SSL_ERROR_NO_CYPHER_OVERLAP
"동료와 안전하게 통신할 수 없습니다. 범용 암호화 알고리즘이 없습니다."
로컬 및 원격 시스템은 공통 암호 제품군을 공유하지 않습니다. 이는 양쪽 끝의 구성이 잘못되었기 때문일 수 있습니다. 이는 RSA 키 교환 알고리즘과 함께 비RSA 인증서를 사용하도록 서버가 잘못 구성되었기 때문일 수 있습니다.
사용할 암호와 해당 --ciphers
옵션을 컬에 알려줄 수 있습니다.
바라보다여기서버에서 지원하는 암호 목록을 열거하는 방법입니다(또는 액세스 권한이 있는 경우 웹 서버 구성을 확인하세요).