Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Apache HTTP y Nginx Última actualización: 15 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

HTTP/2 es la segunda versión principal del protocolo HTTP lanzada en 2015.

http-protocol-history

En 46.5% de los sitios web admiten HTTP/2.

Estadísticas HTTP2

Tiene muchas características como:

  • Compresión de encabezados HTTP
  • Tecnologías Push
  • Carga de elementos de página en paralelo a través de una única conexión TCP
  • Protocolo binario
  • Latencia reducida

Demostración de AKAMAI muestra que HTTP/2 es aproximadamente dos veces más rápido que HTTP/1.1.

http2-demo

¿Sabías que LiteSpeed fue uno de los primeros servidores web en soportar HTTP/2?

Si utiliza una CDN como Cloudflare, Incapsula, MaxCDN, puede que no necesite habilitar HTTP/2 en sus servidores web, ya que puede hacerlo desde el borde de la red CDN.

Sin embargo, si necesita implementar HTTP/2 en sus servidores web como Apache, Nginx, IIS, siga leyendo para saber cómo puede hacerlo.

Nota: Todos los navegadores principales (Chrome, Edge, Firefox, Safari, Opera) deben utilizar TLS 1.2 o posterior para la implementación de HTTP2.

Pero no te preocupes si estás haciendo experimentos. Puede obtenga GRATIS el certificado TLS.

Implementar HTTP/2 en Apache HTTP

HTTP/2 puede desplegarse en Apache HTTP 2.4.17 o una versión posterior con la ayuda de mod_http2 módulo. Así que si tienes una versión 2.2 o inferior, primero tienes que actualizar a la versión compatible.

Vamos a compilar Apache HTTP con la directiva mod_http2, mod_ssl módulo.

  • Descarga la última versión (yo haré la 2.4.25 en Linux)
  • Extraiga el archivo descargado, si ha descargado el archivo .gz, entonces
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • Verás que se crea una nueva carpeta. Vaya dentro de ella
  • Construir el Apache desde el código fuente con el comando configure

Nota: si está intentando esto en un servidor nuevo, puede encontrarse con un error para instalar las dependencias, y esta guía debería ayudarte con eso.

./configure --enable-ssl --enable-so --enable-http2
  • Una vez hecho esto, ejecute el siguiente comando make
make
make install

Esto concluye que Apache HTTP está instalado con el módulo HTTP/2 y es hora de hacer la configuración necesaria.

  • Haga una copia de seguridad del archivo httpd.conf (ubicación por defecto /etc/httpd/conf/httpd.conf)
  • Abra el archivo httpd.conf con vi y asegúrese de que existe lo siguiente; si no es así, añádalo.
LoadModule http2_module modules/mod_http2.so
  • A continuación, tiene que añadir el Protocolos como se indica a continuación
Protocolos h2 h2c http/1.1

Si habilita HTTP/2 para un host virtual individual, deberá añadir Protocolos bajo el respectivo VIrtualHost.

Nota: hay tres parámetros en el anterior Protocolos directiva

  • h2 - instrucciones para que Apache soporte el protocolo HTTP/2 sobre SSL/TLS
  • h2c - instrucciones para que Apache soporte HTTP/2 sobre TCP
  • http/1.1 - si un cliente no acepta HTTP/2 entonces sirve la petición sobre HTTP/1.1

Reinicie el servidor HTTP Apache para recargar la configuración.

Ahora, la instancia HTTP de Apache es habilitado para soportar el protocolo HTTP/2.

Implementar HTTP/2 en Nginx

Nginx 1.9.5 o superior es compatible con HTTP/2, por lo que primero debe asegurarse de que tiene instalada la versión compatible.

Habilitar HTTP/2 en Nginx es sólo cuestión de añadir el parámetro http2 en la directiva de escucha.

  • Como siempre, haz una copia de seguridad del archivo nginx.conf (ubicación por defecto /etc/nginx/nginx.conf)
  • Modifíquelo con vi y añada http2 en escuche directiva
servidor {
        listen 443 http2 ssl chandan.io;
        .......
}

Como he mencionado anteriormente, HTTP/2 es compatible con sólo a través de HTTPSAsí que tienes que añadir en el bloque de servidor que tiene la configuración SSL.

Si tu configuración SSL está en un archivo distinto de nginx.conf, debes actualizarla allí.

Una vez hecho esto, reinicie el Nginx para que la configuración se active.

Compruebe si el sitio web es compatible con HTTP/2

Hay varias formas de comprobar si el sitio web es compatible con HTTP/2 o no.

Manualmente - abra IE/Chrome/Firefox y pulse F12 >> vaya a la pestaña Red, y debería ver Protocolo como HTTP/2.

chrome-http2-verify

En línea - puede utilizar el Herramienta de prueba HTTP/2.

Eso es todo por hoy. Espero que lo anterior te ayude a habilitar el protocolo HTTP/2 en los servidores web Apache y Nginx para páginas web de carga rápida.

  • Chandan Kumar
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre Apache HTTP
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba el lunes
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder