Un 500 Internal Server Error es la falla más genérica que puede devolver un servidor. Significa: "intenté procesar tu petición, algo salió mal y no puedo decirte qué". Es un código 5xx — problema del servidor — y la info útil nunca está en la página. Está en los logs.

Qué significa realmente 500

El 500 es el comodín al que recurre el servidor cuando choca con un error que no anticipó y no tiene un código más específico. A diferencia de un 404 o un 403, no te dice casi nada a propósito — exponer el error real a los visitantes sería un riesgo de seguridad. La página es vaga, pero la causa es concreta y está esperando en tus logs.

Causas comunes

CausaQué pasa
Excepción sin capturarEl código lanzó un error que nadie atrapó
Mal deployUn release reciente introdujo un bug
Config / .htaccessRegla de servidor o rewrite mal formada
PermisosDueño o modo de archivo equivocado
Falla de base de datosLa app no puede conectar o consultar
Sin memoriaEl proceso murió a mitad de la petición

Cómo arreglarlo — como desarrollador

  1. Leé los logs del servidor. Ahí está todo — el stack trace nombra archivo y línea.
  2. Revisá tu último deploy. Si empezó tras un release, ese es el sospechoso; rollback para confirmar.
  3. Verificá config y permisos (.htaccess, modo 755/644).
  4. Probá la conexión a la base de datos.
  5. Chequeá memoria (OOM bajo carga).

Agarrá los 500 apenas empiezan

Un 500 suelto es ruido; un spike es un incidente. La diferencia entre una caída de 10 minutos y una de 3 horas es qué tan rápido te enterás. Nurbak Watch trackea la tasa de error de cada endpoint y te avisa apenas los 500 suben.

Códigos HTTP relacionados