nathan30
Actualmente estoy construyendo una instalación de WordPress bajo un servidor Debian. Instalo PHP7, curl y Apache2
Mientras intento instalar una nueva extensión, tengo este mensaje de error:
cURL error 60: SSL certificate problem: self signed certificate in certificate chain
Intento modificar el php.ini con esto, después de leer una publicación que trata un problema similar:
curl.cainfo = /etc/php7.0/cacert.pem
Pero sigo enfrentando el problema incluso con reiniciar apache.
Algunas ideas ?
Gracias por adelantado
establezca ‘sslverify’ en falso para corregir el error cURL 60: certificado SSL en la solicitud wp_remote_get de WordPress.
wp_remote_get($url, array('sslverify' => FALSE));
-
¿Dónde agregar esto?
– Manik Arora
24 de diciembre de 2020 a las 7:10
-
¡Muy buena solución! me soluciono el problema! ¡Brillante!
– David
22 de abril de 2021 a las 7:07
Deshabilite la verificación SSL dentro de su sitio de prueba.
Puede hacer esto agregando esta línea en el archivo
Apariencia > Editor de temas > functions.php o
/wp-content/themes/TU_TEMA/funciones.php:
add_filter('https_ssl_verify', '__return_false');
Solo agregue esto en un sitio de prueba, nunca en un sitio en vivo.
WordPress usa su propio paquete de CA, ubicado en WP/wp-includes/certificates
.
El paquete de CA que se envió con WordPress hasta hace poco estaba desactualizado, como se explica en este número: https://core.trac.wordpress.org/ticket/45807.
Ajuste sslverify
a false
no se recomienda, y en su lugar puede descargar una versión actualizada del paquete, https://github.com/WordPress/WordPress/tree/master/wp-includes/certificates y reemplazarlo en la carpeta de wordpress.
-
El paquete de CA del enlace de Github que indicó no funcionó para mí (reinició apache local y todo). Solo la configuración ‘sslverify’ => FALSE hizo…
– Styledev
24 oct 2020 a las 21:25
Basado en mi experiencia reciente, creo que el mensaje “certificado autofirmado en la cadena de certificados” le dice el problema exactamente, que es que cualquier sitio SSL al que intente acceder tiene un certificado en la cadena que no está en el grupo al que hace referencia cacert.pem.
Esto tiene sentido porque el error informa que es un autofirmado certificado… es decir, nunca se incluiría en el archivo cacert.pem descargado.
Mi solución fue conseguir un Base64 archivo codificado que contiene la cadena de certificados del sitio al que intento acceder.
How to: Use a browser to access the site you are trying to access, click the
certificate part of the address (usually to the left of the address box with
a lock icon) and the click on whatever your interface supports to see the
list of certificates in the chain. Manually export those certificates to a
text file.
Luego agregue este archivo de texto con un editor de texto a la lista de certificados (cacert.pem) que PHP está usando para las acciones CURL.
Usted menciona WordPress.. WordPress v4.9.6 tiene un paquete de certificados a los que hace referencia específicamente cuando está actualizando o instalando complementos en ./Instancia de WordPress\wp-incluye\certificados. Mi solución temporal fue agregar el archivo de texto anterior (que contiene la cadena de certificados autofirmados locales) al ca-paquete.crt archivo que encontrará en esa ubicación.
Una advertencia: cuando actualice WordPress, sobrescribirá el ca-paquete.crt archivo, por lo que tendrá que volver a agregarlos, a menos que alguien tenga una mejor solución …?
Transbordador W
En caso de que alguien tenga el mismo problema con su instalación de WordPress en la máquina local, agregue http_request_args
el filtro hizo el truco para mí
<?php
/**
* Plugin Name: Local Dev CaFile
* Plugin URI: https://stackoverflow.com/q/44632619/881743
* Description: Another solution for `SSL certificate problem: self signed certificate in certificate chain apache` error for your local development
* Version: 1.0
* Author: John Doe
* Author URI: https://stackoverflow.com/
* License: WTFPL
*/
add_filter( 'http_request_args', function ( $args ) {
if ( getenv('WP_ENV') !== 'development' ) {
return $args;
}
$args['sslcertificates'] = ini_get( 'curl.cainfo' ) ?? $args['sslcertificates'];
return $args;
}, 0, 1 );
y guardarlo en path/to/wp-content/plugins/dev-plugin.php
y active el complemento desde wp-admin, u opcionalmente podría ponerlo en su WPMU_PLUGIN_DIR
.
Espero que ayude Saludos
Ganesh
Descargar este archivo http://curl.haxx.se/ca/cacert.pem
Utilice la ubicación de su archivo en
openssl.cafile=c:/cacert.pem
vosykapavel
Actualizar desde wp-cli 2.4 => 2.5 me ayudó. (con la instalación de este https://github.com/wp-cli/perfil-comando )
comprobar la ruta del archivo
/etc/php7.0/cacert.pem
donde se encuentra– Pankaj Makwana
19 de junio de 2017 a las 14:04
Posible duplicado del error 60 de Curl, problema del certificado SSL: certificado autofirmado en la cadena de certificados
– mods fabio
19 de junio de 2017 a las 14:08
Compruebo la ruta del archivo y está bien :/
– Nathan30
19 de junio de 2017 a las 14:10