Cómo solucionar los códigos de error HTTP más comunes

Introducción

Índice
  1. Introducción
  • Descripción general de errores de cliente y servidor
  • Consejos generales para la solución de problemas
  • 400 Solicitud incorrecta
  • 401 No autorizado
  • 403 Prohibido
    1. Permisos de archivos
    2. .htaccess
    3. El archivo de índice no existe
  • 404 No encontrado
  • Error interno del servidor 500
  • 502 Puerta de enlace no válida
  • 503 Servicio no disponible
  • 504 Tiempo de espera de la puerta de enlace
  • Conclusión
  • Al acceder a un servidor web o a una aplicación, cada solicitud HTTP que recibe un servidor recibe una respuesta con un código de estado HTTP. Los códigos de estado HTTP son códigos de tres dígitos y se agrupan en cinco clases diferentes. La clase de un código de estado se puede identificar por su primer dígito:

    • 1xx: Informativo
    • 2xx: éxito
    • 3xx: Redirección
    • 4xx: Error del cliente
    • 5xx: Error del servidor

    Esta guía se centra en la identificación y resolución de problemas de los códigos de error HTTP más comunes , es decir, los códigos de estado 4xx y 5xx, desde la perspectiva de un administrador de sistemas. Existen muchas situaciones que podrían provocar que un servidor web responda a una solicitud con un código de error en particular; abordaremos las posibles causas y soluciones más comunes.

    Descripción general de errores de cliente y servidor

    Los errores de cliente, o códigos de estado HTTP del 400 al 499, son el resultado de solicitudes HTTP enviadas por un cliente de usuario (es decir, un navegador web u otro cliente HTTP). Aunque estos tipos de errores están relacionados con el cliente, a menudo resulta útil saber qué código de error está encontrando un usuario para determinar si el problema potencial se puede solucionar mediante la configuración del servidor.

    Los errores de servidor, o códigos de estado HTTP del 500 al 599, son devueltos por un servidor web cuando sabe que se ha producido un error o no puede procesar la solicitud.

    Consejos generales para la solución de problemas

    • Al utilizar un navegador web para probar un servidor web, actualice el navegador después de realizar cambios en el servidor
    • Consulte los registros del servidor para obtener más detalles sobre cómo el servidor maneja las solicitudes. Por ejemplo, los servidores web como Apache o Nginx generan dos archivos llamados access.logy error.logque se pueden escanear para obtener información relevante.
    • Tenga en cuenta que las definiciones de códigos de estado HTTP son parte de un estándar que implementa la aplicación que atiende las solicitudes. Esto significa que el código de estado real que se devuelve depende de cómo el software del servidor maneja un error en particular. Esta guía debería orientarlo en la dirección correcta.

    Ahora que tiene una comprensión general de los códigos de estado HTTP, veremos los errores más comunes.

    400 Solicitud incorrecta

    El código de estado 400, o error de solicitud incorrecta , significa que la solicitud HTTP que se envió al servidor tiene una sintaxis no válida.

    A continuación se muestran algunos ejemplos de cuándo puede ocurrir un error 400 Solicitud incorrecta:

    • La cookie del usuario asociada al sitio está dañada. Borrar la memoria caché y las cookies del navegador podría solucionar este problema
    • Solicitud mal formada debido a un navegador defectuoso
    • Solicitud mal formada debido a un error humano al generar manualmente solicitudes HTTP (por ejemplo, al usar curlincorrectamente)

    401 No autorizado

    El código de estado 401, o error no autorizado , significa que el usuario que intenta acceder al recurso no ha sido autenticado o no se ha autenticado correctamente. Esto significa que el usuario debe proporcionar credenciales para poder ver el recurso protegido.

    Un ejemplo de escenario en el que se devolvería un error 401 No autorizado es si un usuario intenta acceder a un recurso protegido por autenticación HTTP, como en este tutorial de Nginx . En este caso, el usuario recibirá un código de respuesta 401 hasta que proporcione un nombre de usuario y una contraseña válidos (que existan en el .htpasswdarchivo) al servidor web.

    403 Prohibido

    El código de estado 403, o un error Prohibido , significa que el usuario realizó una solicitud válida pero el servidor se niega a atenderla debido a la falta de permiso para acceder al recurso solicitado. Si se encuentra con un error 403 inesperadamente, existen algunas causas típicas que se explican aquí.

    Permisos de archivos

    Los errores 403 ocurren comúnmente cuando el usuario que ejecuta el proceso del servidor web no tiene permisos suficientes para leer el archivo al que se está accediendo.

    Para dar un ejemplo de solución de un error 403, supongamos la siguiente situación:

    • El usuario está intentando acceder al archivo de índice del servidor web, desdehttp://example.com/index.html
    • El proceso de trabajo del servidor web es propiedad del www-datausuario.
    • En el servidor, el archivo de índice se encuentra en/usr/share/nginx/html/index.html

    Si el usuario recibe un error 403 Prohibido , asegúrese de que www-datatenga los permisos suficientes para leer el archivo. Normalmente, esto significa que los demás permisos del archivo deben estar configurados en lectura . Hay varias formas de garantizar esto, pero el siguiente comando funcionará en este caso:

    1. sudo chmod o=r /usr/share/nginx/html/index.html

    .htaccess

    Otra causa potencial de errores 403, a menudo intencionales, es el uso de un .htaccessarchivo. El .htaccessarchivo puede usarse para denegar el acceso a ciertos recursos a direcciones IP o rangos específicos, por ejemplo.

    Si el usuario recibe inesperadamente un error 403 Prohibido, asegúrese de que no se deba a su .htaccessconfiguración.

    El archivo de índice no existe

    Si el usuario intenta acceder a un directorio que no tiene un archivo de índice predeterminado y no están habilitados los listados de directorios, el servidor web devolverá un error 403 Prohibido. Por ejemplo, si el usuario intenta acceder a http://example.com/emptydir/y no hay un archivo de índice en el emptydirdirectorio del servidor, se devolverá un estado 403.

    Si desea que se habiliten los listados de directorios, puede hacerlo en la configuración de su servidor web.

    404 No encontrado

    El código de estado 404, o un error No encontrado , significa que el usuario puede comunicarse con el servidor pero no puede localizar el archivo o recurso solicitado.

    Los errores 404 pueden ocurrir en una gran variedad de situaciones. Si el usuario recibe inesperadamente un error 404 No encontrado, estas son algunas preguntas que puede plantearse mientras intenta solucionar el problema:

    • ¿El enlace que dirige al usuario al recurso de su servidor tiene un error tipográfico?
    • ¿El usuario escribió la URL incorrecta?
    • ¿El archivo se encuentra en la ubicación correcta en el servidor? ¿Se movió o eliminó el recurso en el servidor?
    • ¿La configuración del servidor tiene la ubicación raíz del documento correcta?
    • ¿El usuario que posee el proceso de trabajo del servidor web tiene privilegios para acceder al directorio en el que se encuentra el archivo solicitado? (Sugerencia: los directorios requieren permisos de lectura y ejecución para poder acceder a ellos)
    • ¿El recurso al que se accede es un enlace simbólico? Si es así, asegúrese de que el servidor web esté configurado para seguir enlaces simbólicos

    Error interno del servidor 500

    El código de estado 500, o Error interno del servidor , significa que el servidor no puede procesar la solicitud por un motivo desconocido. A veces, este código aparecerá cuando sea más apropiado utilizar errores 5xx más específicos.

    La causa más común de este error es una mala configuración del servidor (por ejemplo, un .htaccessarchivo mal formado) o paquetes faltantes (por ejemplo, intentar ejecutar un archivo PHP sin PHP instalado correctamente).

    502 Puerta de enlace no válida

    El código de estado 502, o error de Bad Gateway , significa que el servidor es un servidor proxy o de puerta de enlace y no está recibiendo una respuesta válida de los servidores back-end que realmente deberían cumplir con la solicitud.

    Si el servidor en cuestión es un servidor proxy inverso, como un balanceador de carga, aquí hay algunas cosas que debe verificar:

    • Los servidores backend (a los que se reenvían las solicitudes HTTP) están en buen estado
    • El proxy inverso está configurado correctamente, con los backends adecuados especificados
    • La conexión de red entre los servidores backend y el servidor proxy inverso es correcta. Si los servidores pueden comunicarse en otros puertos, asegúrese de que el firewall permita el tráfico entre ellos.
    • Si su aplicación web está configurada para escuchar en un socket, asegúrese de que el socket exista en la ubicación correcta y que tenga los permisos adecuados.

    503 Servicio no disponible

    El código de estado 503, o error de Servicio no disponible , significa que el servidor está sobrecargado o en mantenimiento. Este error implica que el servicio debería estar disponible en algún momento.

    Si el servidor no está en mantenimiento, esto puede indicar que el servidor no tiene suficientes recursos de CPU o memoria para manejar todas las solicitudes entrantes, o que el servidor web necesita ser configurado para permitir más usuarios, subprocesos o procesos.

    504 Tiempo de espera de la puerta de enlace

    El código de estado 504, o error de tiempo de espera de puerta de enlace , significa que el servidor es una puerta de enlace o un servidor proxy y no está recibiendo una respuesta de los servidores back-end dentro del período de tiempo permitido.

    Esto suele ocurrir en las siguientes situaciones:

    • La conexión de red entre los servidores es deficiente
    • El servidor backend que está cumpliendo la solicitud es demasiado lento debido a un rendimiento deficiente
    • El tiempo de espera de la puerta de enlace o del servidor proxy es demasiado corto

    Conclusión

    Ahora que está familiarizado con los códigos de error HTTP más comunes y las soluciones comunes para esos códigos, debería tener una buena base para solucionar problemas con sus servidores web o aplicaciones.

    Si encuentra algún código de error que no se mencionó en esta guía, o si conoce otras posibles soluciones a los que se describieron, no dude en comentarlas en los comentarios.

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion