Table of Contents
Cómo habilitar HTTP/2.0 en Nginx
HTTP/2. es el último estándar para el protocolo HTTP. es el sucesor de HTTP/1.1. Se está volviendo cada vez más popular debido a los beneficios que brinda a los desarrolladores web y a los usuarios en general. Proporciona un transporte optimizado para la semántica HTTP al admitir todas las funciones principales de HTTP/1.1. pero tiene como objetivo ser más eficiente de varias formas.
Hay muchas funciones en la parte superior. de HTTP/2. que le brindan más posibilidades de optimizar un sitio web/aplicación. Ofrece multiplexación y simultaneidad verdaderas, mejor compresión de encabezado (codificación binaria), mejor priorización, mejores mecanismos de control de flujo y un nuevo modo de interacción llamado “ inserción de servidor. que permite a un servidor enviar respuestas a un cliente. . Sin mencionar que HTTP/2. se basa en el protocolo experimental SPDY. de Google.
Por lo tanto, el enfoque principal de HTTP/2. es reducir el tiempo total de carga de la página web, mejorando así el rendimiento. También se centra en el uso de recursos de red y servidor, así como en la seguridad porque, con HTTP/2. el cifrado SSL/TLS. es obligatorio.
En este artículo, aprenderá cómo habilitar Nginx. con soporte HTTP/2. en servidores Linux.
Requisitos previos:
- Una instalación funcional de NGINX. versión 1.9.5. o superior, creado con el módulo ngx_http_v2_module.
- Asegúrese de que su sitio utilice un certificado SSL/TLS, si no tiene uno, puede obtenerlo de Let’s Encrypt o utilizar un certificado autofirmado.
Puede instalar NGINX. o implementarlo con un LEMP. como se describe en las siguientes guías:
- Cómo instalar Nginx en CentOS 8
- Cómo instalar el servidor LEMP en CentOS 8
- Cómo instalar NGINX, MySQL/MariaDB y PHP en RHEL 8
- Cómo instalar LEMP Stack con PhpMyAdmin en Ubuntu 20.04
- Instal l Nginx con bloques de servidor (hosts virtuales) en Debian 10
- Cómo usar Nginx como un balanceador de carga HTTP en Linux
Cómo habilitar HTTP/2.0 en NGINX
freestar.config.enabled_slots.push
Si tiene NGINX instalado, verifique que se creó con el módulo ngx_http_v2_module ejecutando el siguiente comando.
# cadenas/usr/sbin/nginx | grep _module | grep-v configure | ordenar | grep ngx_http_v2_module
Verificar Nginx HTTP/2 Módulo
Una vez que tenga un sitio web/aplicación atendida por NGINX. con HTTPS. configurado, abra el bloque de servidor virtual de su sitio web (o host virtual. archivo para editar.
# vi/etc/nginx/conf.d/example.com.conf [En CentOS/RHEL] $ sudo nano/etc/nginx/sites-available/example.com.conf [ En Ubuntu/Debian]
Puede habilitar el soporte HTTP/2 simplemente agregando el parámetro http2 a todas las directivas de escucha como se muestra en la siguiente captura de pantalla.
listen 443 ssl http2.
La configuración de bloque de servidor de muestra se ve a continuación.
servidor nombre_servidor example.com www.example.com; access_log/var/log/nginx/example.com_access.log; error_log/var/log/nginx/example.com_error.log; escuchar [::]: 443 ssl ipv6only = en http2. # administrado por Certbot listen 443 ssl http2. # administrado por Certbot ssl_certificate/etc/letsencrypt/live/example.com/fullchain.pem; # administrado por Certbot ssl_certificate_key/etc/letsencrypt/live/example.com/privkey.pem; # gestionados por Certbot incluyen/etc/letsencrypt/options-ssl-nginx.conf; # administrado por Certbot ssl_dhparam/etc/letsencrypt/ssl-dhparams.pem; # administrado por Certbot
Habilitar la compatibilidad con HTTP/2 en Nginx
Guarde los cambios en el archivo y ciérrelo.
Luego verifique la configuración de NGINX sintaxis, si está bien, reinicie el servicio Nginx.
# nginx-t # systemctl restart nginx
A continuación, abra un navegador web para verificar si su sitio web se está sirviendo a través de HTTP/2.
http://www.example.com
Para acceder a los encabezados HTTP, haga clic con el botón derecho en la página web mostrada, seleccione Inspeccionar. de la lista de opciones para abrir el herramientas para desarrolladores, luego haga clic en la pestaña Red. y vuelva a cargar la página.
Busque en Protocolos. para ver cuál está usando su sitio (si no Si no ve el encabezado de Protocolos, haga clic con el botón derecho en cualquiera de los encabezados, por ejemplo, Nombre. luego marque Protocolo. en la lista para mostrarlo como un encabezado.
Si su sitio se ejecuta en HTTP/1.1. en Protocolo. verá http/1.1. como se muestra en la siguiente captura de pantalla.
Sitio web que se ejecuta en HTTP/1.1
Si se ejecuta en HTTP/2. en Protocolo. verá h2 como se muestra a continuación. captura de pantalla. Es posible que desee deshabilitar la memoria caché del navegador para ver el contenido más reciente que se sirve directamente desde el servidor web.