Cómo Solucionar Problemas de Códigos de Error HTTP Comunes

Actualizado el . Posteado en Tutoriales/VideoTutoriales. Visitado 8777 veces.

como solucionar problemas de codigos de error http comunes

Introducción

Cuando se accede a un servidor o aplicación web, toda petición HTTP que es recibida por un servidor es respondida 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 puede ser identificada rápidamente por su primer dígito:

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

Esta guía se centra en la identificación y solución de los códigos de error HTTP más comúnmente encontrados, a saber los códigos de estado 4xx y 5xx, desde la perspectiva de un administrador del sistema. Hay muchas situaciones que pueden ocasionar que un servidor web responda a una solicitud con un código de error en particular - cubriremos causas potenciales comunes y soluciones.

 

Introducción a Errores de Cliente y Servidor

Errores del cliente, o los códigos de estado HTTP desde 400 al 499, son el resultado de las peticiones HTTP enviadas por un cliente del usuario (es decir, un navegador web u otro cliente HTTP). A pesar de que este tipo de errores son relacionados con el cliente, a menudo es útil saber cuál es el código de error que un usuario está recibiendo, para determinar si el problema potencial puede ser arreglado por la configuración del servidor.

Los errores de servidor, o códigos de estado HTTP desde el 500 al 599, son devueltos por un servidor web cuando es consciente de que ha ocurrido un error o por alguna razón no es capaz de procesar la solicitud.

 

Consejos Generales para la Solución de Problemas

  • Al utilizar un navegador web para probar un servidor web, actualizar la ventana del navegador (F5) después de hacer cambios en el servidor.
  • Compruebe los registros del servidor para obtener más detalles sobre cómo el servidor está lidiando con las solicitudes. Por ejemplo, los servidores web como Apache o Nginx producen dos archivos llamados access.log y error.log que pueden ser examinados para obtener información relevante.
  • Tenga en cuenta que las definiciones de códigos de estado HTTP son parte de una norma/estándar que es implementada por la aplicación que está sirviendo peticiones. Esto significa que el código de estado actual que es devuelto depende de cómo el software de servidor se encarga de un error en particular - esta guía debe generalmente colocarte en la dirección correcta.

Ahora que tiene una comprensión de alto nivel de los códigos de estado HTTP, vamos a ver los errores más frecuentes.

 

400 Bad Request (Petición Incorrecta)

El código de estado 400 o un error Bad Request (Petición incorrecta) significa que la petición HTTP que se envía al servidor tiene una sintaxis no válida.

Aquí hay algunos ejemplos de cuándo podría ocurrir un error 400 Bad Request:

  • Los cookies del usuario que están asociados con el sitio están dañados. El borrado de la caché del navegador y las cookies podrían resolver este problema.
  • Solicitud con formato incorrecto debido a un fallo del navegador.
  • Solicitud con formato incorrecto debido a un error humano cuando se forma manualmente peticiones HTTP (por ejemplo, utilizando curl incorrectamente)
 

401 Unauthorized (No Autorizado)

El código de estado 401, o un error Unauthorized (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 correctas para poder ver el recurso protegido.

 

403 Forbidden (Prohibido)

El código de estado 403, o un error Forbidden (Prohibido) significa que el usuario realizó una solicitud válida, pero el servidor se niega a atender la solicitud, debido a falta de permiso para acceder al recurso solicitado. Si se encuentra un error de 403 de forma inesperada, hay algunas causas típicas que se explican aquí:

Permisos de archivo

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

Para dar un ejemplo de cómo solucionar un error 403 suponga la siguiente situación:

  • El usuario está intentando tener acceso al archivo index del servidor web, a través de http://example.com/index.html
  • El proceso a cargo del servidor web es propiedad del usuario www-data.
  • En el servidor, el archivo de índice se encuentra en /usr/share/nginx/html/index.html

Si el usuario está recibiendo un error 403 Forbidden, asegúrese de que el usuario www-data tiene permisos suficientes para leer el archivo. Por lo general, esto significa que los other permissions (otros permisos) del archivo se deben establecer a read (leer). Hay varias formas de asegurar esto, pero el siguiente comando trabajará en este caso:

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

.htaccess

Otra causa potencial de errores 403, a menudo intencionalmente, es el uso de un archivo .htaccess. El archivo .htaccess se puede utilizar para denegar el acceso de ciertos recursos a direcciones o rangos o IPs específicas por ejemplo.

Si el usuario está inesperadamente recibiendo un error 403 Forbidden, asegúrese de que no está siendo causado por su configuración en el .htaccess.

El Archivo Index No Existe

Si el usuario intenta acceder a un directorio que no tiene un archivo index por defecto, y los listados de directorios no están habilitadas, el servidor web devolverá un error 403 Forbidden. Por ejemplo, si el usuario está intentando acceder http://example.com/emptydir/ y no hay ningún archivo de índice en el directorio emptydir en el servidor, se devolverá un estado 403.

Si quieres que los listados de directorios sean habilitados, puede hacerlo en la configuración del servidor web.

 

404 Not Found (No Encontrado)

El código de estado 404, o un error Not Found (No Encontrado) significa que el usuario es capaz de comunicarse con el servidor, pero éste es incapaz de 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 Not Found, he aquí algunas preguntas que hacer mientras soluciona el problema:

  • ¿El enlace que dirijió al usuario a su recurso de servidor tiene un error tipográfico en él?
  • ¿El usuario escribió mal la URL?
  • ¿Existe el archivo en la ubicación correcta en el servidor? Fue el recurso movido o eliminado en el servidor?
  • ¿La configuración del servidor tiene la ubicación correcta de la raíz de documentos web (web root location)?
  • ¿El usuario dueño del proceso a cargo del servidor web tiene privilegios para entrar al directorio dentro del que está el archivo solicitado? (Importante: los directorios requieren permisos de lectura y ejecución para ser accedidos).
  • Se está accediendo a un recurso que es un enlace simbólico? Si es así, asegúrese de que el servidor web está configurado para seguir enlaces simbólicos
 

500 Internal Server Error (Error Interno de Servidor)

El código de estado 500, o Internal Server Error (Error Interno de Servidor) significa que el servidor no puede procesar la solicitud debido a una razón desconocida. A veces aparece este código cuando otros errores 5xx más expecíficos son más apropiados.

La causa más común de este error es una mala configuración del servidor (por ejemplo, un archivo .htaccess malformado) o paquetes que faltan (por ejemplo, tratando de ejecutar un archivo PHP sin estar PHP instalado correctamente).

 

502 Bad Gateway (Puerta de Enlace No Válida)

El código de estado 502, o error Bad Gateway (Puerta de Enlace No Válida) significa que el servidor es un servidor de puerta de enlace o proxy, y no está recibiendo una respuesta válida de los servidores back-end que realmente deben procesar la solicitud.

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

  • Los servidores de backend (a donde las peticiones HTTP están siendo transmitidas) están sanos.
  • El proxy inverso está configurado correctamente, con los backends apropiados especificados.
  • La conexión de red entre los servidores back-end y el servidor proxy inverso están OK. Si los servidores se pueden comunicar en otros puertos, asegúrese de que el firewall está permitiendo el tráfico entre ellos.
  • Si la aplicación web está configurado para escuchar en un socket, asegúrese de que existe el socket en la ubicación correcta y que tiene los permisos adecuados
 

503 Service Unavailable (Servicio No Disponible)

El código de estado 503 o error Service Unavailable (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 se encuentra en mantenimiento, ésto puede indicar que el servidor no tiene suficientes CPU o recursos de memoria para manejar todas las peticiones entrantes, o que el servidor web necesita ser configurado para permitir más usuarios, threads (hilos) o procesos.

 

504 Gateway Timeout (Tiempo de Espera Agotado para Puerta de Enlace)

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

Ésto suele ocurrir en las siguientes situaciones:

  • La conexión de red entre los servidores es pobre.
  • El servidor back-end que está realmente procesando la solicitud es demasiado lento, debido a un mal desempeño.
  • La duración de tiempo de espera del gateway o el proxy de servidor es demasiado corto.
 

Conclusión

Ahora que usted está familiarizado con los códigos de error HTTP más frecuentes y las soluciones comunes a estos códigos, usted debe tener una buena base para la solución de problemas con sus servidores web o aplicaciones.

Si tiene algún código de error que no fue mencionado en esta guía, o si usted sabe de otras soluciones posibles distintas a las que se han descrito, no dude en contarlas en los comentarios!

Fuentes:

Traducción ligeramente modificada de: https://www.digitalocean.com/community/tutorials/how-to-troubleshoot-common-http-error-codes

Sobre el Autor
Adesh Johnson
Author: Adesh Johnson
Soy muy creyente en Dios. Ésto no me ha impedido un gran interés por la ciencia y la tecnología, y antes bien Dios me ha servido como guía e inspiración. Soy colombiano y tengo un grado en ingeniería. Busco ser no sólo espectador sino también creador en lo referente a la industria del internet. Específicamente, trabajo en el tema de telecomunicaciones bajo Protocolo de Internet IP. Me gusta la optimización de recursos y me considero perfeccionista. También me gusta el cine reflexivo.

Imprimir