El error HTTP 401, también conocido como «No autorizado» (Unauthorized), es un código de estado que informa al cliente de que la petición no incluye credenciales de autenticación válidas o de que las credenciales enviadas no bastan para acceder al recurso solicitado. Cuando un cliente recibe un 401, significa que el servidor exige autenticación antes de dar acceso y que el cliente no ha enviado las credenciales necesarias.
Estas son las dos causas principales de un error HTTP 401: StackProtect y la autenticación HTTP.
StackProtect: protección contra bots
StackProtect forma parte de nuestro software de seguridad. Su función principal es proteger las webs y servicios en línea de bots automatizados y de accesos no autorizados. Una de las técnicas que usa es mostrar al usuario un desafío CAPTCHA.
Cuando StackProtect detecta actividad sospechosa, como un comportamiento «de bot» o intentos de acceso desde una IP o un user-agent conocidos como maliciosos, puede lanzar un CAPTCHA al cliente. El CAPTCHA es una prueba diseñada para distinguir a los usuarios humanos de los bots. Si el usuario no la supera, el servidor puede devolver un error HTTP 401. En ese caso, el cliente debe demostrar que es humano completando el CAPTCHA para obtener acceso.
Autenticación HTTP: protección contra credenciales no válidas
La autenticación HTTP es un mecanismo para que los clientes envíen credenciales válidas y accedan a recursos protegidos en un servidor. Existen distintos métodos, como Basic Authentication, Digest Authentication y Bearer Token Authentication. El servidor usa estas credenciales para verificar la identidad del cliente y decidir si concede el acceso.
La causa más habitual de un 401 con autenticación HTTP es que el cliente envíe credenciales incorrectas o no envíe ninguna: puede ser un error al escribir el usuario o la contraseña, o que el cliente no incluya las cabeceras de autenticación necesarias en la petición.
Otra causa son las credenciales caducadas. Las credenciales de autenticación suelen tener un periodo de validez limitado. Si el cliente usa credenciales caducadas, el servidor responde con un 401, lo que indica la necesidad de autenticarse de nuevo y obtener credenciales nuevas.
Cómo resolver los errores HTTP 401
Si los usuarios ven continuamente la página de StackProtect o si se está bloqueando el acceso a la web a un bot concreto, abre un ticket de soporte desde el Área de clientes y nuestro equipo te indicará cómo permitir el acceso (lista blanca) o desactivar StackProtect para tu plan.
Si los usuarios no logran autenticarse en la web, comprueba que las credenciales que usan son correctas. La autenticación HTTP suele configurarse con los archivos .htaccess y .htpasswd, así que puedes revisarlos para cambiar o desactivar el mecanismo de autenticación.
Nuestro equipo de soporte te ayudará a encontrar de dónde viene el aviso de autenticación.