Los códigos de estado HTTP informan a los usuarios si una solicitud fue tramitada con éxito y, de no ser así, sobre un posible error. Sin embargo, estas no­ti­fi­ca­cio­nes no siempre son lo su­fi­cie­n­te­me­n­te claras, como en el caso especial del “500 Internal Server Error”. Este mensaje indica que se ha producido un error en la conexión con el servidor y que, por lo tanto, no se puede acceder a la página so­li­ci­ta­da. Ahora bien, aunque la causa no se es­pe­ci­fi­ca in­me­dia­ta­me­n­te, hay di­fe­re­n­tes métodos para deducirla. En esta guía te pre­se­n­ta­mos las fuentes típicas de error y pro­po­r­cio­na­mos consejos sobre cómo reac­cio­nar si te en­cue­n­tras con el HTTP Error 500.

Dominios web
Compra y registra tu dominio ideal
  • Domina el mercado con nuestra oferta 3x1 en dominios
  • Función Domain Connect para una co­n­fi­gu­ra­ción DNS si­m­pli­fi­ca­da gratis
  • Registro privado y gratis para mayor seguridad

¿En qué consiste el Internal Server Error?

Con los códigos de estado, el servidor web indica al navegador de un usuario (cliente) si una solicitud (abrir una web) tuvo éxito o no. Si el navegador recibe el estado 200, quiere decir que todo salió bien. El usuario no ve este mensaje, pero el hecho de que se muestre el contenido so­li­ci­ta­do sin ningún problema es su­fi­cie­n­te. Por otro lado, están los códigos de los grupos 4XX y 5XX, que se refieren a fallos en el servidor. El Internal Server Error 500 es un código de estado que incluye diversos fallos del servidor, por lo que, a primera vista, no es posible de­te­r­mi­nar cuál es realmente el problema. La única in­fo­r­ma­ción que recibe el usuario con él es que el servidor notifica un fallo ine­s­pe­ra­do.

En caso de que Microsoft In­fo­r­ma­tion Service (Microsoft IIS) esté instalado en el servidor, se es­pe­ci­fi­ca el código de error. Los números decimales indican con más detalle la causa del problema:

  • 500.0: un módulo o una ISAPI son de­fe­c­tu­sos.
  • 500.11: ac­tua­l­me­n­te se está cerrando una apli­ca­ción en el servidor.
  • 500.12: ac­tua­l­me­n­te se está re­ini­cia­n­do una apli­ca­ción en el servidor.
  • 500.13: el servidor web está so­bre­ca­r­ga­do.
  • 500.15: no se permite una solicitud directa para el archivo (opcional) global.asax.
  • 500.19: los datos de co­n­fi­gu­ra­ción son inválidos.
  • 500.21: no se reconoce el módulo.
  • 500.22: la co­n­fi­gu­ra­ción del módulo HTTP (dentro de una apli­ca­ción ASP.NET) no es aplicable en el modo de ca­na­li­za­ción ad­mi­ni­s­tra­da.
  • 500.23: la co­n­fi­gu­ra­ción de co­n­tro­la­dor HTTP (dentro de una apli­ca­ción ASP.NET) no es aplicable en el modo de ca­na­li­za­ción ad­mi­ni­s­tra­da.
  • 500.24: no es posible aplicar una co­n­fi­gu­ra­ción para el cambio de identidad (para ASP.NET) en el modo de ca­na­li­za­ción ad­mi­ni­s­tra­da.
  • 500.50: se ha producido un error al re­es­cri­bir la no­ti­fi­ca­ción RQ_BEGIN_REQUEST.
  • 500.51: se ha producido un error al re­es­cri­bir la no­ti­fi­ca­ción GL_PRE_BEGIN_REQUEST.
  • 500.52: se ha producido un error al re­es­cri­bir la no­ti­fi­ca­ción RQ_SEND_RESPONSE.
  • 500.53: se ha producido un error al re­es­cri­bir la no­ti­fi­ca­ción RQ_RELEASE _REQUEST_STATE.
  • 500.100: se ha producido un error en el motor ASP.

¿Qué des­en­ca­de­na un error 500?

El Internal Server Error puede ocurrir cuando la solicitud está siendo procesada por el servidor web. Este código de estado reúne todos aquellos sucesos no pla­ni­fi­ca­dos en el servidor que impiden que una página web se muestre co­rre­c­ta­me­n­te. No­r­ma­l­me­n­te, el código de estado 500 es un error interno del servidor, más es­pe­cí­fi­ca­me­n­te en su co­n­fi­gu­ra­ción. Algunas de las fuentes típicas que lo generan son:

  • Un error en los permisos: los permisos de acceso a los archivos y carpetas pri­n­ci­pa­les no se han asignados co­rre­c­ta­me­n­te.
  • PHP Timeout: el script intenta acceder a un recurso externo y ex­pe­ri­me­n­ta una espera ex­ce­si­va­me­n­te larga (timeout).
  • Código in­co­rre­c­to en .htaccess: la es­tru­c­tu­ra en un archivo .htaccess puede ser in­co­rre­c­ta.
  • Error en la sintaxis o en el código del script CGI-/Perl: en algunos casos, los scripts son in­co­rre­c­tos y, es­pe­cia­l­me­n­te, las rutas de acceso pueden no estar alineadas co­rre­c­ta­me­n­te.
  • PHP Memory Limit: un proceso ha excedido el límite de memoria y no es posible eje­cu­tar­lo co­rre­c­ta­me­n­te.

En el caso de las páginas de WordPress y otros sistemas de gestión de co­n­te­ni­dos, una de las causas puede ser la in­s­ta­la­ción de una extensión de­fe­c­tuo­sa o in­co­m­pa­ti­ble: los co­m­ple­me­n­tos y temas (es­pe­cia­l­me­n­te de páginas web de terceros) pueden afectar a la totalidad de la página web.

Error HTTP 500: cómo so­lu­cio­nar­lo (para we­b­ma­s­te­rs)

¿Te ha pasado que tus visitas no pueden ver tus co­n­te­ni­dos y reciben no­ti­fi­ca­cio­nes del tipo 500 o error interno del servidor? Como ad­mi­ni­s­tra­dor web, lo más re­co­me­n­da­ble es ocuparse del problema di­re­c­ta­me­n­te, pues este fallo no solo podría asustar a tus visitas sino que también podría tener un impacto negativo en el ranking de tu web en Google. No obstante, antes de emprender cualquier acción, deberías comprobar si tu servidor está fu­n­cio­na­n­do. De no ser así, tendrás que contactar rá­pi­da­me­n­te a tu proveedor de alo­ja­mie­n­to web.

Si se trata de un error interno, el primer paso será revisar los archivos log. En los se­r­vi­do­res Linux en­co­n­tra­rás el conjunto de mensajes de error en /var/log/httpd/error_log. Para ello es útil volver a cargar la página web, de forma que se re­pro­du­z­ca de nuevo el error 500 para poder observar la creación del archivo log. Así, en­co­n­tra­rás la fuente del error rá­pi­da­me­n­te. Recuerda co­n­si­de­rar aquellos cambios rea­li­za­dos con an­te­rio­ri­dad. En muchos casos, los plugins pro­gra­ma­dos in­co­rre­c­ta­me­n­te o las ex­te­n­sio­nes in­co­m­pa­ti­bles pueden generar problemas.

El error también aparece si no se han definido los permisos de archivos im­po­r­ta­n­tes co­rre­c­ta­me­n­te. Por lo general, existen tres tipos de permiso:

  • Lectura (r de read)
  • Escritura (w de write)
  • Ejecución (x de execute)

Estos derechos son asi­g­na­bles a tres tipos di­fe­re­n­tes de usuarios:

  • Dueño del archivo
  • Grupo de usuarios
  • Todos los demás

Los derechos se otorgan con las abre­via­tu­ras r, w y x o con valores numéricos: 4 para lectura, 2 para escritura y 1 para ejecución. Estos se añaden a cada tipo de usuario en las se­cue­n­cias rwxr-xr-x (rwx para el dueño del archivo, r-x para el grupo de usuarios y r-x para todos los demás) o 755. Esta última co­n­fi­gu­ra­ción (es decir 755) debería ser siempre la pre­de­te­r­mi­na­da. En caso de que la asi­g­na­ción de derechos se es­ta­ble­z­ca de manera diferente, puede surgir un error. Sin embargo, esto se puede modificar con el siguiente comando:

chmod 755 Dateiname

Si esto no soluciona el problema, también es posible compartir los derechos para cada grupo con fines de prueba:

chmod 777 Dateiname

Utiliza esta co­n­fi­gu­ra­ción solo para localizar el problema, pues así permites a cualquier usuario re­es­cri­bir el archivo, algo que re­pre­se­n­ta, ló­gi­ca­me­n­te, un gran riesgo de seguridad.

Si no ha sido el reparto de permisos el re­s­po­n­sa­ble del 500 Server Error, comprueba a co­n­ti­nua­ción si los scripts se ejecutan co­rre­c­ta­me­n­te. Es común que se produzcan errores porque los scripts se han movido, re­no­m­bra­do o eliminado. Adi­cio­na­l­me­n­te, comprueba el archivo .htaccess, porque incluso el más mínimo error de sintaxis puede generar un error interno en el servidor. Otro de los fallos igua­l­me­n­te comunes es un formato in­co­rre­c­to del archivo .htaccess. Este debe crearse en el formato ASCII o ANSI y no en Unicode. Para ello, escribe el archivo en un editor de texto como Notepad, Notepadd++ o Sublime Text y no en un pro­ce­sa­dor de texto como Microsoft Word. Para comprobar si el archivo es el re­s­po­n­sa­ble del error, cambia su nombre y carga de nuevo la web. El servidor no accederá a .htaccess mientras se carga la web. Si ya no se produce el mensaje de error, puedes reparar el archivo o crear uno nuevo.

Los tiempos de espera o timeout también pueden ser des­en­ca­de­na­n­tes del error. En este caso no se trata de un fallo en el servidor web, sino de una conexión a una fuente externa que se ha visto in­te­rru­m­pi­da. ¿Has co­n­fi­gu­ra­do los scripts PHP de tu web para acceder a los recursos de otros se­r­vi­do­res? Es posible que el recurso ya no esté di­s­po­ni­ble o que la co­mu­ni­ca­ción con el servidor se in­te­rru­m­pa por cualquier otra razón. Una manera de excluir esta fuente de error es hacer que la página no dependa de recursos externos. De no ser posible, aumenta el límite de tiempo de tu secuencia de comandos. Además, es útil integrar una gestión de errores eficiente para localizar más fá­ci­l­me­n­te los errores en el script PHP.

¿Podría la memoria estar so­bre­ca­r­ga­da? El límite de memoria se utiliza para de­te­r­mi­nar la cantidad de memoria que puede necesitar un proceso. Si necesitas más RAM de la que dispones, es posible que se presente el HTTP Error 500. Como solución temporal, puedes aumentar el límite. Para ello, añade el siguiente comando a php.ini:

memory_limit = 512M

En este ejemplo, el límite de memoria di­s­po­ni­ble se fija en 512 MB. Sin embargo, ten en cuenta que tu proveedor de alo­ja­mie­n­to web solo garantiza en el pack co­n­tra­ta­do un límite es­pe­cí­fi­co para el script PHP. Si in­tro­du­ces un valor superior, el servidor web lo ignora. Además, aumentar este límite solo es posible de forma temporal: una vez la página vuelve a funcionar co­rre­c­ta­me­n­te has de buscar el motivo de esta repentina necesidad de aumento de memoria y es muy probable que el error se encuentre en el código de tu web.

En caso de que no consigas so­lu­cio­nar el problema con ninguno de los métodos an­te­rio­res, la mejor opción es ponerse entonces en contacto con tu proveedor de alo­ja­mie­n­to. Es re­co­me­n­da­ble comprobar pre­via­me­n­te el estado de los se­r­vi­do­res. Si se han producido fallos, muchos pro­vee­do­res anuncian el estado de sus se­r­vi­do­res a través de una página de estado o de las redes sociales.

Consejo

IONOS también cuenta con una página de estado en la que se informa a los clientes de los servicios de alo­ja­mie­n­to web sobre fallos o problemas actuales.

Si ya has ide­n­ti­fi­ca­do los problemas con el servidor, el siguiente paso será tener algo de paciencia y esperar que los en­ca­r­ga­dos del host so­lu­cio­nen el error. Incluso si no has logrado de­te­r­mi­nar el fallo, nunca está de más contactar con el equipo de soporte de tu proveedor y no olvides in­fo­r­mar­les acerca de las medidas que ya has tomado –de esta forma podrán ayudarte más fá­ci­l­me­n­te.

¿Cómo debe reac­cio­nar un usuario ante el 500 Internal Server Error?

No hay mucho que puedas hacer como usuario si te en­cue­n­tras con el Internal Server Error 500, pues es el servidor web en el que se encuentra la página de destino el que tiene una co­n­fi­gu­ra­ción de­fe­c­tuo­sa. Esto significa que no hay ningún error en la co­n­fi­gu­ra­ción de tu ordenador o de tu conexión de red. Por lo tanto, como usuario, la solución más simple es volver a cargar la página en otro momento. También puede ser que el webmaster haya arreglado el error. Este suele ser el caso de todos los grandes pro­vee­do­res. Por otro lado, es posible que tengas la mala suerte de querer acceder a ciertos co­n­te­ni­dos en un momento de­s­fa­vo­ra­ble para el servidor web –es probable que recibas el mensaje de error mientras se reinicia el servicio y que, en el fondo, todo esté fu­n­cio­na­n­do como se planeó.

Nota

Si te en­cue­n­tras con el mensaje de error mientras realizas un pedido o compra online, no debes volver a cargar la página web porque no sabes en qué punto se produjo el error. Es posible que no se haya podido cargar la página de co­n­fi­r­ma­ción, pero tu pedido ya ha sido re­gi­s­tra­do por el sistema. En este caso, ac­tua­li­zar la web podría generar una compra doble.

También es posible que un aumento ine­s­pe­ra­do en el tráfico sea el re­s­po­n­sa­ble de un colapso en la web. No­r­ma­l­me­n­te, este problema se soluciona en cuestión de segundos, a menos que la página web esté siendo so­bre­ca­r­ga­da pe­r­ma­ne­n­te­me­n­te. Si sigues viendo el mensaje de error después de ac­tua­li­zar la web, lo más re­co­me­n­da­ble es eliminar la caché de tu navegador. Así, el navegador no cargará la página nue­va­me­n­te, sino que accederá a su memoria interna. Vuelve a in­te­n­tar­lo una vez borrada la caché.

Si el error 500 sigue apa­re­cie­n­do, no queda más que esperar a que el operador de la web solvente el problema. Sin embargo, con un pequeño truco es posible obtener co­n­te­ni­dos de la página web. En caso de que no te sea posible acceder a la última versión de la página (co­m­ple­ta­me­n­te funcional), siempre podrás acceder a la caché de Google. Para ello, ingresa el comando cache:, seguido por el URL apropiado. De esta forma accedes a una versión anterior de la web que po­si­ble­me­n­te todavía funcione, aunque has de saber que no estás navegando en la página como tal, sino más bien en una copia de esta que se encuentra en el servidor de Google.

Si necesitas regresar a una instancia mucho más previa, la he­rra­mie­n­ta Wayback Machine de la librería digital Internet Archive te resultará útil. Allí en­co­n­tra­rás versiones de más de una década de di­fe­re­n­tes páginas web.

Si la página web que quieres visitar no es accesible por un periodo pro­lo­n­ga­do de tiempo, puedes ponerte en contacto con el webmaster. Es probable que este no se haya dado cuenta de que los usuarios no pueden acceder a su proyecto, por lo que podría alegrarse con tu mensaje.

Se­r­vi­do­res dedicados
Re­n­di­mie­n­to e in­no­va­ción
  • Pro­ce­sa­do­res de última ge­ne­ra­ción
  • Hardware dedicado de alto re­n­di­mie­n­to
  • Centros de datos con ce­r­ti­fi­ca­ción ISO
Ir al menú principal