¿Cuál es el código de error HTTP 505 y cómo solucionarlo en 2026?
TL;DR
Un error 505 significa "Versión HTTP no compatible": el servidor rechazó la versión HTTP indicada en la línea de solicitud, que normalmente no tiene nada que ver con la página específica que intentabas cargar.
Las causas técnicas documentadas son una línea de solicitud malformada, una línea de solicitud terminada con el final de línea incorrecto o un intermediario (proxy o balanceador de carga) que maneja incorrectamente la solicitud reenviada antes de que llegue al servidor de origen.
Como visitante, actualizar o cambiar tu navegador y limpiar su caché resuelve la mayoría de los 505 del lado del cliente, ya que un cliente desactualizado puede enviar una versión que los servidores modernos ya no aceptan.
Como administrador de servidor, la solución suele estar en la configuración de tu proxy inverso o servidor web: la directiva proxy_http_version de nginx y la configuración force-proxy-request-1.0 de Apache controlan qué versión HTTP llega a tu backend.
Un proxy o balanceador de carga situado entre el cliente y tu servidor de origen es una causa documentada de los 505, por lo que descartar esa capa antes de tocar el código de aplicación ahorra tiempo de depuración.
Un 505 es un fallo diferente de un 502, 503 o 504 de error de puerta de enlace y de una respuesta de 426 Upgrade Required, aunque todos ellos se originan en el lado del servidor.
Lo que significa el error HTTP 505
Una respuesta HTTP 505 significa que el servidor se ha negado a procesar la solicitud porque no soporta la versión HTTP que la solicitud declaró. Es un fallo más específico que la mayoría de los códigos de estado que un navegador o un proxy HTTP puede mostrar, ya que se refiere al sobre del protocolo en sí en lugar de a la autenticación, los límites de tasa o el recurso solicitado. Según el referencia de códigos de estado HTTP de MDN, "el código de estado de error del servidor HTTP 505 HTTP Version Not Supported indica que la versión HTTP utilizada en la solicitud no es admitida por el servidor." Esa formulación es importante: un 505 es un comentario sobre el sobre del protocolo de la solicitud, no sobre la URL, el contenido de la página o (normalmente) tu cuenta o permisos. Ver un 505 no significa que el sitio esté fuera de servicio de la misma manera que un 404 o 500 sugeriría; significa que algo en el camino entre tu cliente y el servidor envió una solicitud que el servidor no pudo interpretar como una versión que reconoce.
¿Por qué los servidores realmente devuelven un 505?
Tres situaciones técnicas producen esta respuesta, y MDN documenta las tres directamente. Una línea de solicitud malformada —por ejemplo, un espacio sin codificar donde debería haber un %20— puede confundir cómo el servidor analiza el token de la versión HTTP que la sigue. Una línea de solicitud terminada con un \n desnudo en lugar del requerido \r\n puede tener el mismo efecto, ya que el analizador del servidor está buscando un final de línea específico antes de leer la versión. La tercera causa es la que a menudo se pasa por alto: un intermediario, como un balanceador de carga o un proxy, que no reenvía correctamente la información de la versión en la línea de solicitud que pasa, lo que deja al servidor de origen leyendo una versión que nunca fue realmente lo que envió el cliente.
Causas comunes que vale la pena descartar primero
En la práctica, un puñado de situaciones cotidianas representan la mayoría de los 505 informados por visitantes y desarrolladores de sitios. Un navegador o biblioteca de cliente HTTP desactualizada que aún emite solicitudes en un formato heredado es uno de los desencadenantes más comunes, especialmente con scripts automatizados o SDK más antiguos que no se han actualizado en años. Un servidor web mal configurado —uno configurado para rechazar completamente HTTP/1.0, o uno con un host virtual apuntando al controlador de protocolo incorrecto— es otro. El software de servidor desactualizado que precede al soporte amplio de HTTP/1.1 o HTTP/2 también puede producirlo. La cuarta, y la que este guía dedica más tiempo, es un proxy o intermediario que altera la versión HTTP durante la transmisión, lo que coincide exactamente con la tercera causa que MDN enumera.
Echa un Rápido Vistazo
Si estás recibiendo 505 inconsistentes mientras ejecutas solicitudes a través de un grupo de proxies rotativos, el proxy en sí puede ser lo que está alterando tu línea de solicitud: la puerta de enlace de Nstproxy habla HTTP(S) estándar y SOCKS5 en lugar de una implementación de protocolo personalizada, así que no es la variable que tienes que depurar.
Comience con su navegador, ya que es lo más rápido de cambiar y descartar. Actualícelo a la versión actual, ya que los proveedores de navegadores dejan de dar soporte periódicamente o cambian la forma en que negocian el comportamiento HTTP más antiguo, y una versión obsoleta es uno de los desencadenantes documentados. Si actualizar no ayuda, pruebe la misma URL en un navegador completamente diferente: si el segundo navegador carga la página normalmente, el problema es específico de la configuración de su navegador original o de una extensión, no del sitio web. A continuación, limpie la caché de su navegador, ya que una versión almacenada en caché y mal formada de una solicitud o un worker de servicio obsoleto pueden enviar ocasionalmente una línea de solicitud rota en visitas repetidas. Finalmente, verifique de nuevo la URL misma en busca de caracteres no deseados, especialmente espacios no codificados o puntuación inusual copiada de otro lugar, ya que una línea de solicitud mal formada es una de las tres causas que documenta MDN directamente.
Cómo solucionar un error 505 en su servidor
Si administra el servidor, la solución es casi siempre una configuración en lugar de un código de aplicación. En nginx, verifique la directiva proxy_http_version en cualquier bloque de ubicación o servidor que haga proxy a un backend; la documentación de nginx en sí enumera la sintaxis como proxy_http_version 1.0 | 1.1 | 2;, con un valor predeterminado de 1.1 desde nginx 1.29.7 (las versiones anteriores tenían por defecto 1.0). Si su backend solo habla HTTP/1.1 y su compilación de nginx es anterior a ese cambio, un proxy_http_version 1.1; explícito en el bloque relevante elimina la ambigüedad:
En Apache, los puntos de control equivalentes son dos variables de entorno de mod_proxy configuradas a través de SetEnv. La documentación de mod_proxy de Apache describe force-proxy-request-1.0, que "fuerza al proxy a usar HTTP/1.0 sin mantener la conexión" hacia el backend y está destinado a backends que no implementan correctamente HTTP/1.1 o keepalive, además de proxy-nokeepalive, que desactiva las conexiones keepalive al backend sin forzar HTTP/1.0. La documentación de Apache los muestra juntos así:
Si tiene un balanceador de carga o CDN delante del servidor de origen, verifique también sus configuraciones de versión HTTP: un 505 que solo aparece a través del balanceador de carga y no al acceder directamente al origen apunta directamente a que ese intermediario está reescribiendo o reportando incorrectamente la línea de solicitud.
505 vs. otros códigos de error HTTP
Un 505 es fácil de agrupar con otros errores del lado del servidor, pero cada uno señala lugares diferentes. Un 502 Bad Gateway o 504 Gateway Timeout significa que un intermediario llegó al backend y recibió una respuesta inválida o ninguna respuesta a tiempo; el problema no era la versión del protocolo, sino la conectividad o el manejo de la respuesta. Un 503 Service Unavailable generalmente indica que el servidor está rechazando intencionalmente las solicitudes, a menudo por mantenimiento o porque está sobrecargado, sin que haya un desajuste de versiones involucrado en absoluto. Un error 429 Too Many Requests es diferente nuevamente: es un límite de tasa, no un desacuerdo de protocolo, y la solución (espaciar o distribuir las solicitudes) no tiene nada en común con la solución de un 505. Un 426 Upgrade Required es un primo más cercano: también se refiere a la negociación de la versión HTTP, pero es el servidor pidiendo al cliente que cambie a una versión más reciente en lugar de rechazar la solicitud de inmediato, y generalmente se empareja con un encabezado Upgrade que nombra la versión que desea. Saber cuál de estos está mirando realmente reduce la solución antes de que toque cualquier configuración.
Cuando un proxy es la verdadera causa
Si los 505 aparecen específicamente cuando las solicitudes pasan a través de un proxy, VPN o balanceador de carga — y no cuando la misma solicitud va directamente al origen — es muy probable que el intermediario esté alterando la línea de solicitud, exactamente como describe la tercera causa documentada de MDN. Aisle esto ejecutando la misma solicitud dos veces, una a través del proxy y una directamente, o utilizando una herramienta de verificación de proxy para confirmar que el proxy en sí está respondiendo y reenvía correctamente antes de asumir que el servidor de destino es el culpable. Esto es especialmente importante para cualquiera que ejecute solicitudes automatizadas en volumen, donde un proxy defectuoso o mal construido puede introducir errores de desajuste de versión que parecen provenir del sitio de destino.
La línea Residential Lite de Nstproxy es una opción para esa situación específica. Es un servicio de proxy residencial que documenta el soporte estándar de los protocolos HTTP(S) y SOCKS5 en lugar de una implementación personalizada o parcial, por lo que las solicitudes dirigidas a través de él siguen la misma negociación de versión que cualquier cliente moderno o proxy inverso ya espera. Está dirigido a desarrolladores y pequeños equipos que realizan tareas de raspado, monitoreo o automatización y que necesitan descartar la capa de proxy como una variable cuando una canalización de solicitudes está generando errores inconsistentes 505 u otros errores similares. El acceso se vende en paquetes de datos prepagados en lugar de una suscripción mensual fija, lo que se adapta mejor a una ejecución de depuración corta o a un uso moderado en comparación con el tráfico continuo y de alto volumen. Vale la pena saber al inicio que Residential Lite es una línea de productos entre varias que Nstproxy ofrece, por lo que una carga de trabajo que necesita una IP estática dedicada o IPs de operadores móviles específicamente miraría otra línea en su lugar.
Soporte estándar HTTP(S) y SOCKS5 — las mismas dos familias de protocolos que ChromeOS, la mayoría de las bibliotecas de clientes HTTP y proxies inversos como nginx ya esperan, por lo que no hay una capa de traducción de protocolo personalizada que depurar.
Más de 50M de IPs residenciales en más de 200 países y regiones — útil cuando la tarea subyacente es la distribución de solicitudes a gran escala, no solo la compatibilidad de protocolo.
Paquetes prepagados de 10GB hasta 10TB — dimensionados para probar una solución en un paquete pequeño antes de comprometerse a un volumen continuo.
Una puerta de enlace generada por el panel por cuenta — obtienes un único y consistente punto de conexión para dirigir tus solicitudes, lo que facilita aislar si un error proviene de tu propio código, del proxy o del servidor de destino; los pasos de configuración están documentados para dirigir un cliente HTTP o un navegador hacia esa puerta de enlace.
Un error 505 es más específico de lo que parece: es específicamente un desacuerdo sobre la versión del protocolo HTTP entre el cliente, cualquier intermediario y el servidor, no una señal genérica de "algo se rompió". Los visitantes generalmente pueden solucionarlo actualizando o cambiando navegadores y revisando la URL en busca de caracteres extraños. Los administradores de servidores deben verificar proxy_http_version en nginx o las variables de entorno force-proxy-request-1.0/proxy-nokeepalive en Apache antes de asumir que el problema está en el código de la aplicación, y cualquier persona que esté realizando solicitudes a través de un proxy o balanceador de carga debería probar una solicitud directa al origen para ver si el intermediario es la fuente real.
P: ¿Un error 505 significa que el sitio web está caído?
No, un 505 significa específicamente que el servidor rechazó la versión HTTP indicada en la solicitud, lo cual es un problema más específico que el hecho de que el servidor esté inaccesible o sobrecargado, y no necesariamente indica que el sitio esté caído para otros visitantes.
P: ¿Es un error 505 causado por mi computadora o por el sitio web?
Puede ser de cualquiera de los dos lados: MDN documenta líneas de solicitudes mal formadas y terminaciones de línea incorrectas (generalmente un problema del lado del cliente) junto con un manejo inadecuado de la solicitud reenvió por parte del intermediario (un problema del lado del servidor o de la red), así que la solución depende de cuál de los dos estás lidiando.
P: ¿Cuál es la diferencia entre un error 505 y un error 502 o 503?
Un 505 trata específicamente sobre la compatibilidad de versión HTTP, mientras que un 502 significa que un intermediario recibió una respuesta no válida del backend y un 503 significa que el servidor está rechazando intencionalmente las solicitudes, típicamente por mantenimiento o sobrecarga, sin que exista desajuste de versión en ninguno de los casos.
P: ¿Puede un proxy o VPN causar un error 505?
Sí: MDN enumera un intermediario que maneja incorrectamente la línea de solicitud reenvió como una de las tres causas documentadas, por lo que si un 505 solo aparece cuando el tráfico pasa a través de un proxy, balanceador de carga o VPN y no en una solicitud directa, ese intermediario es la fuente más probable.
P: ¿Necesito cambiar el código del servidor para arreglar un error 505?
Normalmente no; la solución suele ser un cambio de configuración: la directiva proxy_http_version en nginx o los ajustes force-proxy-request-1.0/proxy-nokeepalive en Apache, en lugar de un cambio en el código de la aplicación.
Marcus Chen
Aug. 6th 2026
110M+ IP reales con 99.9% de acceso exitoso
Respuesta media ultrarrapida ~0.5s para tareas de alta concurrencia
Desde solo $0.1/GB
Acceso inmediato a pools premium de proxies residenciales, datacenter, IPv6 e ISP.