Sargass
@Sargass

php + curl + ssl + tomcat

Доброго дня.
Никак не могу решить проблему с ответом по https phpшным скриптом через curl.
Изначально предполагалось, что обмен будет происходить по 80ке, просто http запросами, что и было отлажено на тестовой машине.
На боевой, оказалось, что исполняемый скрипт, посылающий мне запросы, подгружается немного дальше, чем я думал, и запросы мне приходят по https, от tomcat`а (вроде апача с ява-интерпритатором, насколько я понимаю).
Собственно сама проблема в том, что все проверки сертификатов, и прочая, отключены, но ответить я никак не могу.
Первая ошибка, с которой столкнулся — curl error 35: unknown SSL protocol error in connection.
После этого выставил curl setopt, отключив проверку сертификатов хоста и юзера, стал получать handshake failure.
Перепробовал вручную указывать версию ssl, попробовал отключать лишние в httpd/ssl.conf, абсолютно ничего не помогает.

Это мой, практически первый опыт работы с curl, и тут сразу такие штуки.
Есть какие-то особенности в процессе соединения обычного php курлом с томкэтом по ssl, видимо?
  • Вопрос задан
  • 5608 просмотров
Пригласить эксперта
Ответы на вопрос 2
Dimitriys
@Dimitriys
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
Ответ написан
AloneCoder
@AloneCoder
[object Object]
Раз все что написали выше не помогло, есть еще варианты.
1. Раз не помогло curl_setopt($ch, CURLOPT_SSLVERSION, 3); попробуйте заменить на curl_setopt($ch, CURLOPT_SSLVERSION, 1);
2. Не помню из-за чего, но когда-то я ооооочень долго ловил какую-то ошибку, поводом для которой оказалось что библиотеки OpenSSL для апача и php были для разных версий — как только я привел их к одной версии все стало ок
3. Откатите OpenSSL к более старой версии — это тоже помогает в некоторых случаях
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы