Chúng tôi đã sửa lỗi này bằng cách bình luận dòng 377 trongdownloader/lib/Mage/HTTP/Client/Curl.php
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')
Có thể có một thiết lập cho phép điều này đi qua nhưng chúng ta đã không đi xa đến thế.
Chúng tôi đã sửa lỗi này bằng cách bình luận dòng 377 trongdownloader/lib/Mage/HTTP/Client/Curl.php
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')
Có thể có một thiết lập cho phép điều này đi qua nhưng chúng ta đã không đi xa đến thế.
Câu trả lời:
Có hai điều có thể gây ra điều này.
Kiểm tra xem bạn không sử dụng OpenSSL,
php -r "print_r(curl_version());" | grep ssl_version
Nếu nó hiển thị bất cứ thứ gì khác ngoài OpenSSL - thì đó là câu trả lời của bạn. Giải pháp sẽ là loại bỏ / bình luận dòng trong câu hỏi.
Có vẻ như thư viện OpenSSL của bạn đã hết hạn.
Ví dụ. Một máy chủ web điển hình sẽ hiển thị
openssl ciphers | tr ':' '\n'
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
SRP-DSS-AES-256-CBC-SHA
SRP-RSA-AES-256-CBC-SHA
SRP-AES-256-CBC-SHA
DHE-DSS-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-DSS-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-DSS-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
DHE-DSS-CAMELLIA256-SHA
ECDH-RSA-AES256-GCM-SHA384
ECDH-ECDSA-AES256-GCM-SHA384
ECDH-RSA-AES256-SHA384
ECDH-ECDSA-AES256-SHA384
ECDH-RSA-AES256-SHA
ECDH-ECDSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA256
AES256-SHA
CAMELLIA256-SHA
PSK-AES256-CBC-SHA
ECDHE-RSA-DES-CBC3-SHA
ECDHE-ECDSA-DES-CBC3-SHA
SRP-DSS-3DES-EDE-CBC-SHA
SRP-RSA-3DES-EDE-CBC-SHA
SRP-3DES-EDE-CBC-SHA
EDH-RSA-DES-CBC3-SHA
EDH-DSS-DES-CBC3-SHA
ECDH-RSA-DES-CBC3-SHA
ECDH-ECDSA-DES-CBC3-SHA
DES-CBC3-SHA
PSK-3DES-EDE-CBC-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
SRP-DSS-AES-128-CBC-SHA
SRP-RSA-AES-128-CBC-SHA
SRP-AES-128-CBC-SHA
DHE-DSS-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-DSS-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-DSS-AES128-SHA
DHE-RSA-SEED-SHA
DHE-DSS-SEED-SHA
DHE-RSA-CAMELLIA128-SHA
DHE-DSS-CAMELLIA128-SHA
ECDH-RSA-AES128-GCM-SHA256
ECDH-ECDSA-AES128-GCM-SHA256
ECDH-RSA-AES128-SHA256
ECDH-ECDSA-AES128-SHA256
ECDH-RSA-AES128-SHA
ECDH-ECDSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA256
AES128-SHA
SEED-SHA
CAMELLIA128-SHA
PSK-AES128-CBC-SHA
ECDHE-RSA-RC4-SHA
ECDHE-ECDSA-RC4-SHA
ECDH-RSA-RC4-SHA
ECDH-ECDSA-RC4-SHA
RC4-SHA
RC4-MD5
PSK-RC4-SHA
EDH-RSA-DES-CBC-SHA
EDH-DSS-DES-CBC-SHA
DES-CBC-SHA
EXP-EDH-RSA-DES-CBC-SHA
EXP-EDH-DSS-DES-CBC-SHA
EXP-DES-CBC-SHA
EXP-RC2-CBC-MD5
EXP-RC4-MD5
Không openssl version
thể hiện điều gì?
Có vẻ như bạn cần nâng cấp thư viện SSL của mình, vì nhiều lý do hơn là điều này một mình (nghĩa là nhiều lỗ hổng được tiết lộ trong các thư viện cũ).
Tôi đã hỏi Nexcess (tham khảo bài đăng này) và nhận được câu trả lời này:
Trang bạn tìm thấy là thực sự chính xác. Chúng tôi đã thấy điều này rất nhiều với bản cập nhật mới. Điều đã xảy ra là Magento đã cập nhật một số mã để an toàn hơn, nhưng họ đưa ra giả định rằng curl sẽ được biên dịch dựa trên các thư viện SSL mà họ có thể kiểm tra bằng một số lệnh nhất định.
Thật không may, các máy chủ RedHat và CentOS (mà chúng tôi sử dụng) có một cURL được biên dịch chống lại NSS, cung cấp bảo mật mà không có một số lỗ hổng mà OpenSSL gặp phải. Tác dụng phụ của việc này là việc kiểm tra Magento đang thực hiện không gửi đúng câu hỏi và nhận được câu trả lời 'không xác định'.
Nhận xét dòng được đề cập tại Solution to Magento Downloader 1.9.2 danh sách mật mã chưa biết đã thực hiện thủ thuật cho tất cả mọi người cho đến nay. Nhà máy tin đồn là Magento sẽ giải quyết việc giám sát này sớm.
trên máy chủ Centos 6 của chúng tôi, NSS được cập nhật cho bản phát hành này nhưng không phải là bản phát hành cuối cùng. dòng giải pháp khác, thêm dòng không hoạt động. giải pháp duy nhất hoạt động là buộc https thành false bằng cách thêm dòng
$https = false;
trước dòng
$uriModified = $this->getModifiedUri($uri, $https);
và bình luận
$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
Hoạt động cho chúng tôi trên 1.9.2.4 Magento.
Vào ngày 1.9.2.3, hãy sử dụng follwing trên downloader / lib / Mage / HTTP / Client / Curl.php dòng 370 ish:
$uriModified = $this->getModifiedUri($uri, $https);
$this->_ch = curl_init();
$this->curlOption(CURLOPT_URL, $uriModified);
$this->curlOption(CURLOPT_SSL_VERIFYPEER, false);
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
$this->curlOption(CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
$this->getCurlMethodSettings($method, $params, $isAuthorizationRequired);
Kiểm tra các bit nhận xét và dòng mới ngay bên dưới nó
@ben có thêm một trường hợp phụ trong 1. Nhận xét dòng một mình có thể không hoạt động nếu curl và nss không lỗi thời.
Nếu không được xây dựng với openssl, curl có thể được xây dựng với nss (CentOS / RHEL curl). Đảm bảo các thư viện curl và nss được nâng cấp.