Tôi gặp sự cố khi kết nối với trang web được lưu trữ với CloudFlare bằng cURL. Khi tôi cố gắng kết nối với trang web bằng HTTPS (bằng cách sử dụng curl -v https://www.xxxxxx.com
), nó báo:
* About to connect() to www.xxxxxx.com port 443 (#0)
* Trying 2400:cb00:2048:1::681c:116e...
* Connected to www.xxxxxx.com (2400:cb00:2048:1::681c:116e) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12286 (SSL_ERROR_NO_CYPHER_OVERLAP)
* Cannot communicate securely with peer: no common encryption algorithm(s).
* Error in TLS handshake, trying SSLv3...
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.xxxxxx.com
> Accept: */*
>
* Connection died, retrying a fresh connect
* Closing connection 0
* Issue another request to this URL: 'https://www.xxxxxx.com'
* About to connect() to www.xxxxxx.com port 443 (#1)
* Trying 2400:cb00:2048:1::681c:116e...
* Connected to www.xxxxxx.com (2400:cb00:2048:1::681c:116e) port 443 (#1)
* TLS disabled due to previous handshake failure
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* NSS error -12286 (SSL_ERROR_NO_CYPHER_OVERLAP)
* Cannot communicate securely with peer: no common encryption algorithm(s).
* Closing connection 1
curl: (35) Cannot communicate securely with peer: no common encryption algorithm(s).
Tôi đã liên lạc với CloudFlare về vấn đề này và họ nói rằng vì cURL đang cố gắng kết nối bằng SSLv3 và họ đã vô hiệu hóa nó vì lỗ hổng POODLE. Tôi có thể kết nối với cURL v7.38.0 trên FreeBSD 10, nhưng không có vấn đề gì với cURL v7.29.0 trên CentOS 6.5.
Nếu đó là vì nó đang cố gắng kết nối với SSLv3, vậy làm cách nào để tắt SSLv3 trên cURL? Hay nó là cái gì khác?
nss
.