Ми це виправили, коментуючи рядок 377 дюймаdownloader/lib/Mage/HTTP/Client/Curl.php
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')
Можливо, є налаштування, яка дозволяє пройти через це, але ми так далеко не дійшли.
Ми це виправили, коментуючи рядок 377 дюймаdownloader/lib/Mage/HTTP/Client/Curl.php
//$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1')
Можливо, є налаштування, яка дозволяє пройти через це, але ми так далеко не дійшли.
Відповіді:
Є дві речі, які могли б викликати це.
Переконайтесь, що ви не використовуєте OpenSSL,
php -r "print_r(curl_version());" | grep ssl_version
Якщо на ньому відображається що-небудь, крім OpenSSL - тоді це ваша відповідь. Рішенням було б видалити / прокоментувати відповідний рядок.
Здається, ваша бібліотека OpenSSL застаріла.
Напр. Типовий веб-сервер показував би,
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
Що openssl version
показує?
Здається, що вам потрібно оновити свою бібліотеку SSL з більшої причини, ніж це тільки (тобто багаторазово розкриті вразливості у старих бібліотеках).
Я запитав Nexcess (посилаючись на цю публікацію) і отримав цю відповідь:
Сторінка, яку ви знайшли, насправді правильна. Ми багато бачили це з новим оновленням. Що сталося, це те, що Magento оновив якийсь код, щоб бути більш безпечним, але вони зробили припущення, що згортання буде скомпільовано проти бібліотек SSL, щоб вони могли перевірити певними командами.
На жаль, сервери RedHat і CentOS (які ми використовуємо) мають CURL, складений проти NSS, який забезпечує безпеку без деяких дір, з якими виникли проблеми OpenSSL. Побічний ефект цього полягає в тому, що чек, який робить Magento, не надсилає правильного питання і отримує "невідому" відповідь.
Коментуючи рядок, який згадується в Solution to Magento Downloader 1.9.2, невідомий список шифрів зробив трюк для всіх поки що. Слух млин Magento незабаром вирішить цей нагляд.
на нашому сервері Centos 6, NSS є актуальним для цього випуску, але не останнього випуску. інші рядки коментування рішень, додавання рядка не працюють. Єдине рішення, яке працює - примушувати https до помилки додаванням рядка
$https = false;
перед рядком
$uriModified = $this->getModifiedUri($uri, $https);
та коментуючи
$this->curlOption(CURLOPT_SSL_CIPHER_LIST, 'TLSv1');
Для нас працює 1.9.2.4 Magento.
1.9.2.3 використовуйте наступну програму для завантаження / lib / Mage / HTTP / Client / Curl.php рядок 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);
Перевірте коментовані біти та новий рядок трохи під ним
@ben є ще один підзапис у 1. Коментування рядка може не спрацювати, якщо curl та nss не застаріли.
Якщо не побудовано з openssl, curl може бути побудований за допомогою nss (CentOS / RHEL curl). Переконайтесь, що бібліотеки curl і nss оновлені.