HTTP/2 (HTTP originalmente llamado/2.0) es la segunda versión principal del protocolo de red HTTP utilizado por la World Wide Web.
Ratificada en mayo de 2015, HTTP/2 fue creado para hacer frente a algunos problemas de rendimiento significativas con HTTP 1.1 en la era de la Web moderna.
HTTP/2 es compatible con el servidor web Nginx a partir de la versión 1.9.5.
Actualmente HTTP/2 está soportado por la mayoría de los navegadores web.
Sus sitios no requieren ningún cambio para obtener ventajas HTTP/2.
Ahora HTTP/2 está disponible para clientes de Plesk 12.5!
Nota: HTTP/2 está soportado por sitios que tengan SSL solamente, por lo que los sitios que no tengan SSL seguirá trabajando bajo HTTP/1.x. Eso es una restricción de servidores web y navegadores web NGINX.
Comprobar si tenemos cargado el modulo necesario:
Para habilitar http/2 en nuestro servidor web nginx, deberemos verificar que el modulo “ngx_http_v2_module” está cargado en nginx.
Comando:
nginx -V
Salida:
nginx version: nginx/1.11.10 built by gcc 4.9.2 (Debian 4.9.2-10) built with OpenSSL 1.0.1t 3 May 2016 TLS SNI support enabled configure arguments: --prefix=/usr/share --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --user=nginx --group=nginx --with-ipv6 --with-file-aio --with-http_realip_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
Cómo podemos ver en la ultima linea, casi al final podemos visualizar que tenemos el modulo cargado, en caso de no tenerlo cargado deberemos añadirlo cómo explico en este post.
Aplicar HTTP/2 en nuestros sites:
Tan solo añadiremos el parámetro “http2” de la siguiente forma en los ficheros de configuración de nuestros vhost de nginx:
server { listen 443 ssl http2; ssl_certificate server.crt; ssl_certificate_key server.key; }
Acto seguido reiniciamos el servidor web nginx de la siguiente forma:
Comando:
/etc/init.d/nginx restart
Salida:
[ ok ] Restarting nginx (via systemctl): nginx.service.
Y con este reinicio satisfactorio damos por finalizada la implementación del protocolo HTTP/2 en NGINX. Ahora nuestro servidor establecerá las conexiones de forma paralela, ganando rapidez a la hora de servir los recursos web.
Verificar configuración modulo
Para comprobar que funciona HTTP/2 en nuestro site podemos acceder a esta página https://tools.keycdn.com/http2-test e insertar la dirección URL de nuestro sitio web.
Si tenemos HTTP/2 implementado recibiremos un mensaje felicitándonos, de lo contrario has realizado mal alguno de los pasos anteriores.