Ответ 1
Это ошибка (OpenSSL), которая все еще открывается. Подробности были опубликованы в этом сообщении об ошибке скручивания.
Более подробная информация была отправлена в OpenSSL-dev с помощью "mancha".
Если я запускаю завиток на компьютере, на котором запущен OpenSSL 1.0.0e, например:
curl -v https://shumaker.flexrentalsolutions.com
на машине под управлением OpenSSL 0.9.8r. Я получаю следующую ошибку:
About to connect() to shumaker.flexrentalsolutions.com port 443 (#0)
* Trying 50.112.122.15... connected
* Connected to shumaker.flexrentalsolutions.com (50.112.122.15) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
* Closing connection #0
Если я запустил ту же команду curl на компьютере, на котором запущен OpenSSL 1.0.0e, команда завершается без каких-либо проблем.
Похоже, что рукопожатие не выполняется должным образом, по-видимому, из-за некоторой несовместимости между двумя версиями OpenSSL.
Любая идея, как это исправить?
Это ошибка (OpenSSL), которая все еще открывается. Подробности были опубликованы в этом сообщении об ошибке скручивания.
Более подробная информация была отправлена в OpenSSL-dev с помощью "mancha".
Если вы установите версию openssl в протоколе, она работает:
Для командной строки:
curl -v -3 https://shumaker.flexrentalsolutions.com
Если в php:
curl_setopt($ch, CURLOPT_SSLVERSION,3);
Это нехорошее решение, но лучше, чем вращение колеса, поэтому я собираюсь добавить его здесь в качестве ответа:
Используйте модуль GnuTLS вместо mod_ssl, если можете. Это не связано с OpenSSL, так что эта ужасная, дневная проблема убирается аккуратно.
Теперь из-за POODLE vulnerability
многие сайты теперь отключают SSL 3.0
Вы должны использовать TLS
следующим образом:
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1)
Если у вас по-прежнему есть ошибка (для Apache), проверьте, соответствует ли ваш vhost
правильный параметр ServerName
У меня есть эта проблема в OS X с помощью brew на некоторых серверах https, brew использует завиток внутри. Обратите внимание, что это только на OS X 10.7.5, которое застряло на OpenSSL/0.9.8r. Я бы обновил, но яблоко не поддерживает > 10.7 на этом iMac!
Мое исправление заключалось в том, чтобы обновить curl с помощью brew, который увеличивает версию до версии 1.0.2f, к счастью, brew установка curl не
brew install curl