Cómo habilitar http/2.0 en nginx

Cómo habilitar http/2.0 en nginx

Http/2 es el último estándar para el Http Protocolo, es el sucesor de Http/1.1. Se está volviendo cada vez más popular debido a los beneficios que aporta a los desarrolladores y usuarios web en general. Proporciona un transporte optimizado para la semántica HTTP al admitir todas las características centrales de Http/1.1 pero tiene como objetivo ser más eficiente de múltiples maneras.

Hay muchas características encima de Http/2 que le brindan más posibilidades para optimizar un sitio web/aplicación. Ofrece una verdadera multiplexación y concurrencia, una mejor compresión del encabezado (codificación binaria), una mejor priorización, mejores mecanismos de control de flujo y un nuevo modo de interacción llamado "Push del servidor"Que permite que un servidor presione las respuestas a un cliente. Por no mencionar, Http/2 se basa en el experimental de Google Spdy protocolo.

Por lo tanto, el enfoque principal de Http/2 es reducir el tiempo general de carga de la página web, mejorando así el rendimiento. También se centra en el uso de la red y el servidor de recursos, así como la seguridad porque, con Http/2, SSL/TLS El cifrado es obligatorio.

En este artículo, aprenderá cómo habilitar Nginx con Http/2 Soporte en servidores Linux.

Prerrequisitos:

  • Una instalación de trabajo de Nginx versión 1.9.5 o más alto, construido con el ngx_http_v2_module módulo.
  • Asegúrese de que su sitio use el certificado SSL/TLS, si no tiene uno, puede obtener de Let's Cifrar o usar un certificado autofirmado.

Puedes instalar Nginx o implementarlo con un Lemplo pila 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
  • Instale Nginx con bloques de servidor (hosts virtuales) en Debian 10
  • Cómo usar NGINX como un equilibrador de carga HTTP en Linux

Cómo habilitar http/2.0 en nginx

Si tiene instalado Nginx, verifique que se construyó con el ngx_http_v2_module módulo ejecutando el siguiente comando.

# cadenas/usr/sbin/nginx | Grep _module | GREP -V Configurar | ordenar | GREP NGX_HTTP_V2_MODULE 
Verifique el módulo Nginx HTTP/2

Una vez que tenga un sitio web/aplicación que sea atendida por Nginx con Https configurado, abra sus sitios web Bloque de servidor virtual (o anfitrión virtual) Archivo para la edición.

# vi/etc/nginx/conf.D/Ejemplo.comunicarse.conf [en CentOS/Rhel] $ sudo nano/etc/nginx/sites-disponible/Ejemplo.comunicarse.conf [en Ubuntu/Debian] 

Puede habilitar el soporte HTTP/2 simplemente agregando el http2 parámetro a todos escuchar Directivas como se muestra en la siguiente captura de pantalla.

Escucha 443 SSL http2; 

La configuración del bloque del servidor de muestra se ve a continuación.

SERVER Ejemplo de server_name.com www.ejemplo.com; access_log/var/log/nginx/ejemplo.com_access.registro; ERROR_LOG/VAR/LOG/NGINX/Ejemplo.com_error.registro; escuchar [::]: 443 ssl ipv6only = on http2; # gestionado por certbot escuchar 443 ssl http2; # administrado por certbot ssl_certificate/etc/letsencrypt/live/ejemplo.com/fullchain.pem; # gestionado por certbot ssl_certificate_key/etc/letsencrypt/live/ejemplo.com/privkey.pem; # gestionado por certbot include/etc/letsencrypt/options-ssl-nginx.conf; # gestionado por CERTBOT SSL_DHPARAM/ETC/LETSENCRYPT/SSL-DHPARAMS.pem; # gestionado por certbot 
Habilitar el soporte HTTP/2 en Nginx

Guarde los cambios en el archivo y cierre.

Luego verifique la sintaxis de configuración de Nginx, si está bien, reinicie el servicio NGINX.

# nginx -t # systemctl reiniciar nginx 

A continuación, abra un navegador web para verificar si su sitio web está siendo atendido Http/2.

http: // www.ejemplo.comunicarse 

Para acceder a los encabezados HTTP, haga clic con el botón derecho en la página web que se muestra, seleccione Inspeccionar Desde la lista de opciones para abrir las herramientas del desarrollador, luego haga clic en el Red pestaña y recargar la página.

Comprobar debajo Protocolos Para ver el que está usando su sitio (si no ve el encabezado de protocolos, haga clic derecho en cualquiera de los encabezados E.gramo Nombre, Entonces revisa Protocolo de la lista para mostrarlo como encabezado).

Si su sitio se está ejecutando Http/1.1, bajo Protocolo, ya verás http/1.1 Como se muestra en la siguiente captura de pantalla.

Sitio web que se ejecuta en HTTP/1.1

Si se está ejecutando Http/2, bajo Protocolo, ya verás H2 Como se muestra en la siguiente captura de pantalla. Es posible que desee deshabilitar el caché del navegador para ver el último contenido que se sirve directamente desde el servidor web.

Sitio web que se ejecuta en HTTP/2.0

Eso es todo! Para obtener más información, consulte la documentación del módulo NGX_HTP_V2_MODULE. No dude en hacer preguntas a través del formulario de comentarios a continuación.