Я прочитал весь интернет и попробовал практически все решения, ничего не работает.
Если я запустил curl http://... site, он работает, но если я запустил https://... это не так.
Я запускаю centos 7 с php 5.6
Ничего не происходит, если я попробую известный ответ с
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Единственное, что может помочь мне получить сайт, это
curl -4svo/dev/null --ciphers ecdhe_ecdsa_aes_128_sha https://.....
однако, поскольку мне нужно отправить свои заголовки, это не решение, мне нужно что-то совместимое с curl_setopt.
ОБНОВЛЕНИЕ ОШИБКИ
Я получаю это: curl: (35) Не удается безопасно связываться со сверстниками: нет общих алгоритмов шифрования.
Это волшебная линия!
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, 'ecdhe_ecdsa_aes_128_sha');
Я думаю, эта проблема вызвана версией cURL, не поддерживающей 256-битные SSL-сертификаты ECC и алгоритмом подписи ECDSA (который используется CloudFlare). Вы можете проверить, поддерживает ли ваша версия cURL это шифрование, запустив:
curl -1IsS --ciphers ecdhe_ecdsa_aes_128_sha https://sslspdy.com
Если вы получаете следующее, то ваш cURL устарел:
curl: (59) Unknown cipher in list: ecdhe_ecdsa_aes_128_sha