Vamos a realizar la implantaciond el protocolo HTTP/2 en una maquina debian strech, sobre un servidor apache.

Ahora vamos a configurar dos máquinas para las pruebas que más adelante realizaremos, y vamos a instalar una maquina con un servidor apache con “http/2” y otra máquina con “http/1.1” (el cual viene habilitado por defecto).

Para poder implantar http/2 en un servidor apache primero tenemos que tener un certificado ssl instalado, para ello vamos a realizar un certificado auto firmado con “OpenSSL”.

Generar certificado auto firmado

Un certificado SSL es un certificado digital utilizado por el protocolo para el encriptamiento de la información.

Este certificado es proporcionado por un proveedor autorizado (Verisign, Thawte, Comodo, etc…) y es enviado al cliente por el servidor con quien estamos estableciendo una conexión segura.

Hay muchos servicios que utilizan este protocolo, algunos ejemplos pueden ser: HTTPS, SMTPS, IMAPS, SSH, POP3S, etc…

Instalar OpenSSL

El primer paso sera instalar openssl apt install openssl

Creamos una clave privada

La llave privada nos será útil para la generación del certificado. Una vez creado, nuestro certificado SSL dependerá de esta llave para la implementación del mismo en cualquier servicio que requiera una conexión segura.

Por ejemplo, vamos a crear una clave de 1024 bits:

Generar CSR

Un CSR es la base para un certificado SSL, en él se definen datos como el dominio, organización, ubicación, información de contacto, entre otros.

Es importante destacar que estos pasos también son necesarios cuando vas a adquirir un certificado SSL de un proveedor autorizado, durante la gestión del mismo, el proveedor va a solicitar este archivo para crear tu certificado. Por lo tanto, debemos tener mucho cuidado en que la información que ingresamos sea correcta.

Para generar el CSR debemos ejecutar el siguiente comando, si te fijas uno de los parámetros que introducimos es la clave privada.

Generamos certificado SSL

Para generar el certificado SSL vamos a necesitar tanto la llave privada como el CSR que acabamos de crear.

Para generar el certificado SSL debemos ejecutar el siguiente comando:

Instalación pila LAMP

Para poder instalar un CMS vamos a intalar la pila LAMP apt install apache2 php mariadb-server y ya tendremos el servidor web instalado.

Habilitar modulo SSL

Primero copiamos los certificados en /etc/sssl/certs/

Y lo habilitamos:

Y modificamos el vhosts por defecto de SSL /etc/apache2/sites-available/default-ssl, borramos todo el contenido y añadimos lo siguiente.

Habilitamos el vhosts a2ensite default-ssl y reiniciamos el servidor apache systemctl restart apache2.

Habilitamos el modulo http2

Primero activamos el paquete nghttp2 apt install nghttp2, y habilitamos el modulo http2:

Y añadimos la siguiente linea a nuestro fichero “default-ssl”, justo detras de los certificados especificados:

Y ya solo queda reiniciar el servidor web systemctl restart apache2