Наш текущий веб-стек установлен на сервере CentOS 5.11 с Plesk. Мы используем PHP 5.4, cURL 7.47.1 и openSSL 0.9.8e-fips-rhel5 01 Jul 2008. Я пытаюсь запустить Paypal IPNs, используя код, основанный на примере, найденном здесь: https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php.
Проблема в том, что квитирование пытается использовать SSLv3, который, похоже, не поддерживается Paypal (возможно, я ошибаюсь?). Я получаю эту ошибку: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
. Я нашел другие места, где говорится, что нужно попробовать пару вещей. Все это я и сделал. Я пробовал использовать
curl_setopt($ch, CURLOPT_SSLVERSION, 5);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "TLSv1");
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "TLSv1. 2");
Ни один из этих вариантов не сработал. И cURL, и OpenSSL обновлены до самого последнего порта, доступного для CentOS 5.11.
Я надеюсь, что либо я что-то упускаю, либо есть способ запустить Paypal IPN без TLS, либо есть способ обновить openSSL до 1.0.1g. Любая помощь будет очень признательна.
Примечание: Обновление до CentOS 6 не является вариантом.
Вы можете попробовать скомпилировать более новую версию openssl: https://miteshshah.github.io/linux/centos/how-to-enable-openssl-1-0-2 -a-tlsv1-1-and-tlsv1-2-on-centos-5-and-rhel5 /
Лучше перейти на новую CentOS6 или CentOS7. В Plesk есть отличный инструмент для управления миграцией.