Algunas pruebas de Security Ninja usan cURL para solicitar tu propio sitio por HTTPS (loopback). Puedes ver:
cURL error 60: SSL certificate problem: unable to get local issuer certificate
Eso suele significar que el servidor no puede validar su propia cadena de certificados.
Causas habituales
- Proxy de Cloudflare con un certificado de origen de Cloudflare en el servidor de origen
- Paquete de certificados CA ausente o desactualizado en el servidor
- Certificados SSL personalizados o autofirmados (habitual en sitios locales y de staging)
Por qué Security Ninja no ignora errores SSL por defecto
Omitir la verificación SSL oculta problemas reales y debilita la seguridad. No desactives la verificación en producción salvo que entiendas el riesgo.
Qué probar
1. Actualizar certificados CA en el servidor
En Debian/Ubuntu:
sudo apt-get update && sudo apt-get install ca-certificates
En hosts tipo RHEL/CentOS:
sudo yum update ca-certificates
Pregunta a tu hosting si no tienes acceso shell.
2. Preferir un certificado de confianza pública
Cuando sea posible, usa un certificado de una CA pública (por ejemplo Let’s Encrypt) en el origen, o una configuración que tu hosting documente como de confianza para HTTPS loopback.
3. Indicar a WordPress dónde está un paquete CA
Si no puedes actualizar el paquete del sistema, indica a WordPress dónde hay un archivo CA válido. Prefiere un plugin personalizado pequeño o must-use frente al functions.php del tema padre:
add_filter(
'http_request_args',
function ( $args, $url ) {
if ( false !== strpos( $url, home_url() ) ) {
$args['sslcertificates'] = '/etc/ssl/cert.pem'; // Ajusta a la ruta de tu servidor.
}
return $args;
},
10,
2
);
4. Último recurso: desactivar verificación SSL para peticiones locales
Solo para depuración temporal. No lo dejes activado en un sitio en vivo.
Relacionado: Los resultados corregidos siguen fallando, Sitios en mantenimiento y protegidos con contraseña.