Configurar HTTP/2 en Nginx, Apache HTTPD, WildFly o Jetty
Escrito por
el .
planeta-codigo
web
Enlace permanente
Comentarios
HTTP/2 se puede usar ya, los principales navegadores web, servidores web y de aplicaciones ya han añadido el soporte necesario ofreciendo varias ventajas para los usuarios, desarrolladores, dispositivos cliente y los servidores. En varios de los servidores más populares la configuración necesaria no es complicada.
HTTP/2 es el protocolo que ha surgido para mejorar la experiencia de navegación de la web, proporcionará menos latencia y más velocidad siendo más eficiente. En la introducción al protocolo HTTP/2 comentaba de que necesidad surge, sus ventajas, alguna diferencia con HTTP 1.1, varias cosas que los desarrolladores hacíamos que quedarán obsoletas y otras varias que deberemos seguir haciendo. Se pubicó oficialmente en 2015 y los principales navegadores como Mozilla Firefox, Google Chrome y Microsoft Edge ya lo soportan.
En el lado del servidor varios servidores web también han incluido el soporte para HTTP/2, entre ellos Nginx, Apache HTTPD, WildFly y Jetty. Tomcat añadirá el soporte en la versión 9 cuando se publique las especificación de Servlets 4.0 con el soporte de HTTP/2, este soporte necesitará de ALPN que se incluirá en la versión 9 del JDK con lo que en el momento de publicar este artículo todavía quedarán varios meses. Para usar HTTP/2 en Nginx, Apache HTTPD, WildFly y Jetty debemos hacer algunos cambios en sus configuraciones.
Para usar HTTP/2 los navegadores Mozilla Firefox, Google Chrome y Microsoft Edge han anunciado que se necesitará cifrado, por lo tanto deberemos añadir el soporte para TLS/SSL en el servidor previamente.
Contenido del artículo
Configurar HTTP/2 en Nginx
En Nginx es muy sencillo, deberemos modificar el archivo de configuración default.conf para que quede de forma similar a la siguiente.
|
|
Configurar HTTP/2 en Apache HTTPD
En Apache HTTPD deberemos instalar el paquete nghttp2 de nuestra distribución. y usar el módulo mod_http2.so junto con mod_ssl.so para el cifrado.
|
|
Configurar HTTP/2 en WildFly
El WildFly deberemos descargar un archivo jar que ofrece el soporte para la negociación de protocolo, ALPN, según la versión del JDK que usemos de Maven Central. Modificamos el archivo de configuración bin/standalone.conf.
|
|
Y el archivo standalone/configuration/standalone.xml añadimos un nuevo listener para el subsistema de undertow con HTTP/2 habilitado y un Realm asociado para usar TLS/SSL.
|
|
Configurar HTTP/2 en Jetty
Dependiendo de la versión de Java, usaremos el módulo alpn adecuado, en el momento de escribir este artículo con la versión 1.8.0_74 del OpenJDK, modules/alpn-impl/alpn-1.8.0_74.mod.
|
|
|
|