HTTP/2+Docker+Nginx

La idea surgió por la necesidad de habilitar HTTP/2 en Openshift y de contar con una imagen que ya estuviese preparada para desplegar y poder validad que se esta utilizando el protocolo satisfactoriamente. En esta guía utilizaré Docker.

Pasos

  1. Ejecutar los siguientes comandos para preparar los certificados que utilizaremos (estos son autofirmados para los propósitos del tutorial):

    mkdir certs
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./certs/nginx.key -out ./certs/nginx.crt
    
  2. Crear el docker-compose.yml:

    services:
      nginx:
        image: lorcopotia/my-http2-app:latest
        ports:
          - "443:443" 
        volumes:
           - ./certs:/etc/nginx/certs:ro
           #- ./html:/usr/share/nginx/html # Descomentar y poner el directorio vuestra web
     restart: always
    
  3. Ejecutar el siguiente comando para inicializar el contenedor:

    docker compose up -d
    
  4. Abrir https://localhost el tu navegador favorito e inspecciona con Developer tools. En la pestaña de Red deberias poder ver h2 en la columna protocol.