Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

¿Cómo habilitar HTTP / 2 en Apache y Nginx?

HTTP-2-en-apache-nginx
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-protocolo-historial

Aproximadamente 46.5% de los sitios web son compatibles con HTTP / 2.

Estadísticas de HTTP2

Tiene muchas características como:

  • Compresión de encabezado HTTP
  • Tecnologías push
  • Cargar elementos de página en paralelo a través de una sola conexión TCP
  • Protocolo binario
  • Latencia reducida

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

http2-demostración

Sabías LiteSpeed Fue uno de los primeros servidores web en admitir HTTP / 2?

Si usa un CDN como Cloudflare, Incapsula, MaxCDN, es posible 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 líderes (Chrome, Edge, Firefox, Safari, Opera) deben usar TLS 1.2 o más reciente para la implementación de HTTP2.

Pero no se preocupe si está haciendo algunos experimentos. Usted puede obtenga el certificado TLS GRATIS.

Implement HTTP/2 in Apache HTTP

HTTP / 2 se puede implementar en Apache HTTP 2.4.17 o una versión posterior con la ayuda de mod_http2 módulo. Entonces, si tiene una versión 2.2 o inferior, primero debe actualizar a la versión compatible.

Compilemos Apache HTTP con el mod_http2, mod_ssl módulo.

  • Descargue la última versión (lo haré 2.4.25 en Linux)
  • Extraiga el archivo descargado, si descargó el archivo .gz, luego
gunzip-c httpd-2.4.25.tar.gz | alquitrán xvf -
  • Verá que se crea una nueva carpeta. Entra en eso
  • Construya Apache desde la fuente con el comando configure

Nota:: si está probando esto en un servidor nuevo, puede encontrar un error al instalar dependencias, y esta guía debería ayudarte con eso.

./configure --enable-ssl --enable-so --enable-http2
  • Asegúrese de que no haya errores del comando anterior una vez hecho, ejecute el siguiente comando make
hacer hacer instalar

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

  • Realice una copia de seguridad del archivo httpd.conf (ubicación predeterminada /etc/httpd/conf/httpd.conf)
  • Abra el archivo httpd.conf con vi y asegúrese de que exista lo siguiente; si no, agréguelo.
LoadModule http2_module módulos / mod_http2.so
  • A continuación, debe agregar el Protocolos directiva como a continuación
Protocolos h2 h2c http / 1.1

Si habilita HTTP / 2 para un host virtual individual, debe agregar Protocolos bajo el respectivo VIrtualHost.

Nota: hay tres parámetros en lo anterior Protocolos Directivas

  • h2: instruir a Apache para que admita el protocolo HTTP / 2 sobre SSL / TLS
  • h2c: instruir a Apache para que admita HTTP / 2 sobre TCP
  • http / 1.1: si un cliente no acepta HTTP / 2, envíe la solicitud a través de HTTP / 1.1

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

Ahora, la instancia HTTP de Apache es facilita para admitir el protocolo HTTP / 2.

Implement HTTP/2 in Nginx

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

Habilitar HTTP / 2 en Nginx es solo cuestión de agregar el http2 parámetro en la directiva listen.

  • Como de costumbre, haga una copia de seguridad del archivo nginx.conf (ubicación predeterminada /etc/nginx/nginx.conf)
  • Modificar usando vi y agregar http2 bajo escuchan Directivas
servidor {escuchar 443 http2 ssl chandan.io; … ....}

Como mencioné anteriormente, HTTP / 2 es compatible solo sobre HTTPS, por lo que debe agregar el bloque del servidor que tiene configuración SSL.

Si su configuración SSL está en otro archivo nginx.conf, debe actualizarlo allí.

Una vez hecho esto, reinicie Nginx para que la configuración esté activa.

Verify if Website Supports HTTP/2

Hay varias formas de comprobar si el sitio web admite HTTP / 2 o no.

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

Chrome-http2-verificar

En línea - puedes usar el Herramienta de prueba HTTP / 2.

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

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Apache HTTP
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder