Los sitios web no pueden efectuar peticiones PHP curl a sitios SSL

Created:

2016-11-16 12:44:47 UTC

Modified:

2017-08-16 16:52:58 UTC

6

Was this article helpful?


Have more questions?

Enviar una solicitud

Los sitios web no pueden efectuar peticiones PHP curl a sitios SSL

Applicable to:

  • Plesk for Windows
  • Plesk for Linux

Síntomas

Acabamos de detectar una incidencia relacionada con las librerías PHP curl en nuestros servidores. En estos no es posible establecer la conexión debido a errores SSL.

    SSL certificate problem: unable to get local issuer certificate

Causa

PHP curl no está usando un grupo de certificados raíz actualizado para verificar los certificados del servidor.

En setiembre del 2014, Mozilla eliminó los trust bits de los certificados en su paquete CA que seguían usando claves RSA de 1024 bits. Como consecuencia, las librerías TLS tardaban mucho en verificar algunos sitios si la librería en cuestión no soportaba correctamente "path discovery" como en RFC 4158. (Aquí se incluye OpenSSL y GnuTLS.)

Resolución

  1. Descargue el archivo cacert.pem desde el sitio web principal de curl http://curl.haxx.se/ca/cacert.pem .

  2. Añada lo siguiente a php.ini o a 'Directivas adicionales' en Sitios web y dominios > Configuración PHP :

    curl.cainfo=full\path\ o\cacert.pem

En el caso de Plesk 12.5 :

A partir de la versión 12.5 en Windows, la URL desde la que se descarga cacert.pem se especifica en el archivo panel.ini :

[php]
curlCertificatesUrl=”http://curl.haxx.se/ca/cacert.pem”

El archivo %plesk_dir%\\Additional\\PHPSettings\\cacert.pem es actualizado por el script de mantenimiento diario, concretamente mediante la tarea %plesk_dir%\\admin\\plib\\DailyMaintainance\\Task\\UpdatePhpCurlCertificates.php .

La ruta %plesk_dir%\\Additional\\PHPSettings\\cacert.pem no puede personalizarse a través de la configuración de Plesk.

Por omisión, la opción curlCertificatesUrl no está presente en panel.ini . Durante una actualización o bien al ejecutarse la tarea de mantenimiento diario, Plesk exporta los certificados a este archivo mediante el siguiente comando:

"%plesk_dir%\\admin\\bin\\certmng" --export-certificates –path "%plesk_dir%\\Additional\\PHPSettings\\cacert.pem"

Los certificados ahora se instalan en Windows.

¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.