📅 Contexto:

A mediados de julio de 2025, miles de administradores de servidores comenzaron a reportar que sus sitios web en Plesk dejaron de ser accesibles al cargar vía HTTPS, devolviendo el siguiente error:

421 Misdirected Request

Este fallo afecta principalmente a servidores con múltiples sitios y múltiples direcciones IP configuradas, especialmente cuando Nginx está habilitado como proxy inverso.


❗ ¿Qué significa el error 421?

El error 421 Misdirected Request ocurre cuando el servidor web (Apache) no puede determinar correctamente a qué VirtualHost debe dirigir la conexión porque no recibió el nombre del dominio (SNI) de forma adecuada desde Nginx.

El resultado es que Apache rechaza la solicitud porque no sabe cómo manejarla correctamente.


🧨 ¿Qué causó este error?

Tras una actualización reciente de Apache (en julio 2025), surgió un conflicto con la forma en que Nginx reenvía conexiones HTTPS a Apache. Concretamente, Nginx no estaba reenviando correctamente la información del SNI, lo que causaba que Apache devolviera el error 421.

Plesk ha confirmado el incidente y está documentado en su sitio oficial:

🔗 Artículo oficial de Plesk sobre el error 421


✅ Solución rápida y efectiva:

Hasta que Plesk libere un parche oficial que solucione este comportamiento por defecto, puedes resolverlo aplicando una pequeña configuración manual en Nginx.

Ejecuta este comando como root o con sudo:

sudo bash -c 'echo -e "proxy_ssl_server_name on;\nproxy_ssl_name \$host;\nproxy_ssl_session_reuse off;" > /etc/nginx/conf.d/fixssl.conf && systemctl restart nginx'

Este comando hace lo siguiente:

  • Crea un archivo llamado fixssl.conf en el directorio de configuración de Nginx.
  • Establece las instrucciones necesarias para que Nginx pase correctamente el nombre del host al backend Apache.
  • Reinicia Nginx para aplicar los cambios.

🔧 ¿Por qué es necesario hacer esto manualmente?

Plesk, en su estado actual, no aplica esta configuración automáticamente, incluso en instalaciones con múltiples dominios e IPs dedicadas. Esto hace que el error pueda presentarse incluso si todo estaba funcionando correctamente antes de la actualización.


📌 Consideraciones importantes:

  • Esta solución es persistente, pero puede ser sobrescrita por futuras actualizaciones del sistema o de Plesk.
  • Si el error vuelve a aparecer después de una actualización, simplemente vuelve a ejecutar el comando.
  • No es necesario modificar los archivos de configuración de Apache o los vhosts manualmente.
  • Esta solución no depende de Cloudflare, WordPress ni de los certificados SSL. El problema es interno, entre Nginx y Apache.

📚 Fuentes oficiales:


🧠 Recomendación final:

Guarda este comando. Es probable que tengas que volver a usarlo hasta que Plesk lo resuelva oficialmente.

Y recuerda el sabio consejo del día:

“Cuando hables con Apache, no seas idiota: pasa el Host: correctamente en la conexión SSL, para que Apache sepa a qué vhost estás hablando.” 😄

Categorizado en:

Guías,

Etiquetado en: