GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo habilitar HTTP/2 en Nginx

Protocolo de transferencia de hipertexto versión 2 (HTTP/2 ) es la última versión del protocolo HTTP, publicada como estándar IETF en RFC 7540 en 2015. El enfoque del protocolo es el rendimiento; específicamente, la latencia percibida por el usuario final, la red y el uso de recursos del servidor. Uno de los principales objetivos es permitir el uso de una única conexión desde los navegadores a un sitio web. El protocolo es compatible con versiones anteriores, por lo que los métodos HTTP, los códigos de estado y la semántica son los mismos que para las versiones anteriores del protocolo. Nginx tiene soporte HTTP/2 desde la versión 1.9.5. En este tutorial, supondré que ya tiene una configuración de TLS en funcionamiento y que ha requerido la versión de Nginx instalada en la distribución de Linux de su elección, y que sabe cómo usar Let's Encrypt, o sabe cómo emitir un certificado autofirmado.

Requisitos

Para habilitar HTTP/2 en Nginx, deberá cumplir los siguientes requisitos:

  • Nginx versión 1.9.5 o superior. Puede verificar su versión de Nginx ejecutando (nginx -v ) comando.
  • OpenSSL versión 1.0.2 o superior. Puede verificar su versión de OpenSSL ejecutando el comando (versión de OpenSSL).
  • Certificado SSL/TLS de Let's Encrypt o un certificado autofirmado.
  • Protocolo TLS 1.2 o superior habilitado. De lo contrario, no podrá utilizar HTTP/2. Las implementaciones de HTTP/2 deben usar TLS versión 1.2 o superior para HTTP/2 sobre TLS.

Habilitar HTTP/2 en Nginx

Para habilitar HTTP/2 en Nginx, debemos agregar http2 parámetro para listen directiva en nuestro servidor virtual:

listen 443 ssl http2;

Y recarga tu configuración de Nginx:

sudo systemctl reload nginx.service

Esta es la configuración mínima del servidor virtual que se puede usar para habilitar HTTP/2 en algún host virtual:

server {

listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name example.com;
root /path/to/public;

ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;

ssl_protocols TLSv1.2;

}

Para comprobar si su servidor es compatible con HTTP/2, puede utilizar las herramientas de desarrollo de su navegador o los archivos de registro de Nginx. La siguiente es una captura de pantalla del navegador Google Chrome que muestra HTTP/2 en acción en el dominio https://example.com .

También puede usar la variable incrustada Nginx $http2 para ver el protocolo negociado. Esta variable registrará: “h2 ” para HTTP/2 sobre TLS, “h2c ” para HTTP/2 sobre TCP de texto claro, o una cadena vacía de lo contrario en el registro de acceso de Nginx si está configurado para hacerlo.

Y eso es todo lo que hay que hacer para habilitar HTTP/2 en su servidor Nginx.

Enlaces

  • RFC 7540
  • HTTP/2

Linux
  1. Cómo redirigir HTTP a HTTPS 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 HTTP/2.0 en Nginx

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 configurar Nginx con soporte HTTP/2 en Ubuntu 18.04

Cómo habilitar HTTP/2 con Apache en Ubuntu

Cómo habilitar HTTP/2.0 en Nginx en CentOS