GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo habilitar HTTP/2.0 en Nginx

HTTP/2 es el último estándar para HTTP protocolo, es el sucesor de HTTP/1.1 . Cada vez es más popular debido a los beneficios que aporta a los desarrolladores web y usuarios en general. Proporciona un transporte optimizado para la semántica HTTP al admitir todas las funciones principales de HTTP/1.1 pero pretende ser más eficiente de múltiples maneras.

Hay muchas funciones además de HTTP/2 que le dan más posibilidades para optimizar un sitio web/aplicación. Ofrece verdadera multiplexación y concurrencia, 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 "servidor push ” que permite a un servidor enviar respuestas a un cliente. Sin mencionar, HTTP/2 se basa en el SPDY experimental de Google protocolo.

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 los recursos de la red y del servidor, así como en 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.

Requisitos previos:

  • Una instalación funcional de NGINX versión 1.9.5 o superior, construido con el ngx_http_v2_module módulo.
  • Asegúrese de que su sitio use un certificado SSL/TLS; si no tiene uno, puede obtenerlo de Let's Encrypt o usar un certificado autofirmado.

Puede instalar NGINX o implementarlo con un LEMP apilar 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
  • Instalar Nginx con Server Blocks (hosts virtuales) en Debian 10
  • Cómo utilizar Nginx como equilibrador de carga HTTP en Linux

Cómo habilitar HTTP/2.0 en NGINX

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

# strings /usr/sbin/nginx | grep _module | grep -v configure| sort | grep ngx_http_v2_module

Compruebe el módulo Nginx HTTP/2

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 servidor virtual ) archivo para editar.

# vi /etc/nginx/conf.d/example.com.conf                    [On CentOS/RHEL]
$ sudo nano /etc/nginx/sites-available/example.com.conf    [On Ubuntu/Debian]

Puede habilitar la compatibilidad con HTTP/2 simplemente agregando http2 parámetro a todos listen directivas como se muestra en la siguiente captura de pantalla.

listen 443 ssl http2;

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

server {
        server_name example.com www.example.com;
        access_log  /var/log/nginx/example.com_access.log;
        error_log  /var/log/nginx/example.com_error.log;

        listen [::]:443 ssl ipv6only=on http2; # managed by Certbot
        listen 443 ssl http2; # managed by Certbot

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
        include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot    
}

Habilitar la compatibilidad con HTTP/2 en Nginx

Guarde los cambios en el archivo y ciérrelo.

Luego verifique la sintaxis de configuración de NGINX, 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á publicando a través de HTTP/2. .

http://www.example.com

Para acceder a los encabezados HTTP, haga clic derecho en la página web mostrada, seleccione Inspeccionar de la lista de opciones para abrir las herramientas de desarrollo, luego haga clic en Red y vuelve a cargar la página.

Consulte en Protocolos para ver el que está usando su sitio (si no ve el encabezado Protocolos, haga clic con el botón derecho en cualquiera de los encabezados, por ejemplo, Nombre , luego marque Protocolo de la lista para mostrarlo como un encabezado).

Si su sitio se ejecuta en HTTP/1.1 , bajo 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 , bajo Protocolo , verás h2 como se muestra en la siguiente captura de pantalla. Es posible que desee desactivar la memoria caché del navegador para ver el contenido más reciente que se ofrece 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_http_v2_module. No dude en hacer preguntas a través del formulario de comentarios a continuación.

Compartir es cuidar…
Compartir en FacebookCompartir en TwitterCompartir en LinkedinCompartir en Reddit
Ubuntu
  1. Cómo habilitar HTTP/2 en Nginx

  2. Cómo habilitar TLS 1.3 en Nginx

  3. Cómo habilitar HTTP2 en NGINX

  4. Cómo habilitar HTTP/2 en Nginx en Ubuntu y CentOS

  5. Cómo configurar Nginx con soporte HTTP/2 en Debian 9

Cómo habilitar la compresión Gzip en Nginx

Cómo habilitar HTTP/2 en Apache en Ubuntu

Cómo habilitar HTTP/2 en Apache en el sistema Linux

Cómo habilitar HTTP/2.0 en el servidor Nginx:guía paso a paso

Cómo habilitar HTTP/2 con Apache en Ubuntu

Cómo habilitar HTTP/2.0 en Nginx en CentOS