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
| Causa | Qué pasa |
|---|---|
| Excepción sin capturar | El código lanzó un error que nadie atrapó |
| Mal deploy | Un release reciente introdujo un bug |
| Config / .htaccess | Regla de servidor o rewrite mal formada |
| Permisos | Dueño o modo de archivo equivocado |
| Falla de base de datos | La app no puede conectar o consultar |
| Sin memoria | El proceso murió a mitad de la petición |
Cómo arreglarlo — como desarrollador
- Leé los logs del servidor. Ahí está todo — el stack trace nombra archivo y línea.
- Revisá tu último deploy. Si empezó tras un release, ese es el sospechoso; rollback para confirmar.
- Verificá config y permisos (.htaccess, modo 755/644).
- Probá la conexión a la base de datos.
- 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.

