El error 401 Unauthorized aparece cuando un usuario intenta acceder a un recurso que requiere autenticación, pero no ha iniciado sesión o las credenciales proporcionadas son incorrectas.
Causas más comunes
-
Credenciales incorrectas (usuario/contraseña inválidos).
-
Acceso protegido por .htaccess/.htpasswd y la autenticación falla.
-
Tokens o claves API caducadas o inválidas en aplicaciones o scripts.
-
Sesión expirada en sistemas como WordPress, cPanel o aplicaciones web.
-
Configuración incorrecta del servidor, que exige autenticación donde no debería.
-
Redirecciones a URLs protegidas, especialmente en WordPress o sitios con plugins de seguridad.
Soluciones recomendadas
1) Verificar usuario y contraseña
Asegúrate de que las credenciales son correctas.
Si olvidaste la contraseña de un directorio protegido vía .htaccess, puedes resetearla desde:
cPanel → Directorios protegidos → Editar usuario
2) Comprobar autenticación en .htaccess / .htpasswd
Si tu sitio tiene protección por carpeta, revisa que el archivo .htpasswd esté:
-
En la ruta correcta
-
Con el hash correcto
-
Sin errores de sintaxis
Ejemplo correcto en .htaccess:
3) Revisar tokens o claves API (si usas apps o scripts)
El error 401 también aparece en APIs como:
-
REST API de WordPress
-
APIs externas (Stripe, Google, Facebook, etc.)
Solución:
Generar un nuevo token
Revisar permisos del token
Comprobar cabeceras de autenticación (Authorization: Bearer)
4) Volver a iniciar sesión (sesión expirada)
A veces solo basta cerrar sesión y volver a entrar.
Esto ocurre mucho en WordPress, cPanel y paneles administrativos.
5) Desactivar temporalmente plugins de seguridad (WordPress)
Plugins como Wordfence, iThemes Security o All In One Security pueden bloquear accesos válidos.
Prueba:
-
Entrar por FTP / cPanel
-
Renombrar la carpeta del plugin
-
Reintentar acceder
6) Revisar reglas de seguridad del servidor
Configuraciones incorrectas en:
-
ModSecurity
-
CSF / Firewall
-
Nginx o Apache
pueden pedir autenticación extra o bloquear usuarios pensando que son bots.
Consejo Pro
Activa los logs para identificar la causa exacta:
-
Apache:
/usr/local/apache/logs/error_log -
Nginx:
/var/log/nginx/error.log -
WordPress: activar
WP_DEBUG
Ahí verás exactamente qué está bloqueando la autenticación.