Solucionar el error 403 después de una migración de WordPress
Solucionar el error 403, también conocido como Forbidden Error, ocurre cuando el servidor deniega el acceso a un recurso solicitado. Este problema es especialmente común tras migrar un sitio WordPress a un nuevo servidor o entorno, como Clouding.io. A continuación, te detallo las posibles causas y, al final, cómo lo solucioné configurando el panel Plesk y su módulo de seguridad.
Errores frecuentes al encontrar un 403
- La conexión supera el tiempo de espera: «
La conexión superó el tiempo de espera después de 20 segundos de inactividad. Error: No se pudo conectar al servidor"
.
Este mensaje es común en clientes FTP como FileZilla cuando no pueden acceder al servidor.» - Error 403 al intentar acceder al sitio web: «
Forbidden: You don't have permission to access this resource"
.
Indica que el servidor está bloqueando el acceso al contenido solicitado. - Connection Refused o Connection Closed: Estos mensajes aparecen al intentar conectarse al servidor por SSH o SFTP y no poder autenticar correctamente al usuario.
Posibles causas del error 403
- Permisos de archivos y carpetas incorrectos:
- Tras la migración, los permisos pueden cambiar, bloqueando el acceso a ciertos directorios.
- Solución: Asegúrate de que las carpetas tienen permisos 755 y los archivos 644.
- Archivo .htaccess corrupto:
- El archivo .htaccess controla aspectos clave de la configuración del sitio. Si está dañado, puede causar errores 403.
- Solución: Renombra el archivo .htaccess y genera uno nuevo desde el panel de WordPress en Ajustes > Enlaces permanentes.
- Problemas con el servidor SSH:
- Procesos antiguos del servicio SSH o configuraciones erróneas pueden impedir el acceso.
- Solución: Reinicia el servicio SSH y asegúrate de que el puerto 22 esté abierto en el firewall.
- Restricciones de seguridad:
- Los módulos de seguridad como ModSecurity pueden identificar actividades normales como potenciales amenazas.
- Solución: Ajustar las configuraciones de ModSecurity (detallado en la sección final).
- URLs mal configuradas en WordPress:
- Tras una migración, las direcciones del sitio y WordPress pueden no coincidir con la nueva instalación.
- Solución: Ve a Ajustes > Generales en el panel de WordPress y corrige las URLs.
- Problemas con la CDN o caché:
- Una CDN o sistema de caché desactualizado puede servir contenido incorrecto.
- Solución: Limpia la caché y desactiva temporalmente la CDN para verificar.
Cómo lo solucioné
Después de investigar y probar múltiples enfoques, identifiqué que el problema estaba relacionado con el módulo de seguridad ModSecurity de Plesk y sus reglas de Nginx (ModSecurity 3.0). Este módulo estaba bloqueando la IP del usuario, lo que provocaba tanto el error 403 como mensajes de conexión rechazada.
Pasos para solucionar el problema:
- Accede al panel de control Plesk.
- Ve a la sección Herramientas y configuración.
- Localiza el módulo ModSecurity.
- Cambia la configuración de «Enforcing» a «Solo detección».
- Esto permite que ModSecurity registre posibles amenazas, pero sin bloquear el acceso.
- Ajusta las reglas de Nginx (ModSecurity 3.0):
- Verifica que las reglas sean compatibles con tu entorno.
- Si es necesario, personaliza las reglas para que no bloqueen direcciones IP legítimas.
- Guarda los cambios y prueba el acceso nuevamente.
Conclusión
El error 403 después de una migración puede tener diversas causas, desde permisos incorrectos hasta bloqueos de seguridad. En este caso, ajustar ModSecurity y sus reglas fue la clave para restaurar el acceso completo al sitio web. Si enfrentas este problema, sigue estos pasos y tu sitio debería funcionar sin inconvenientes.