DEV Community

Karim
Karim

Posted on • Originally published at Medium on

Exécuter son site web avec FreeBSD, HTTP/3 et Caddy 2 dans DigitalOcean …

Pour cette expérience, je pars d’une instance FreeBSD 12.1 64 bits dans DigitalOcean :

Et j’y installe quelques paquets de base avec Bash (et Bash-it) :

Bash-it/bash-it

Ainsi que Node.js :

avec Serve et PM2 :

PM2 via le portail de Keymetrics me permet d’avoir un monitoring de base de l’instance :

Je clone un site web statique très simple avec un seul fichier “index.html” depuis GitHub :

Et je peux l’exposer localement via Serve et PM2 :

serve.sh

qui apparait sur le port TCP 5000 ici :

Caddy 2 offre la possibilité d’avoir le support expérimental de HTTP/3. Pour rappel, HTTP/3 est le successeur proposé de HTTP/2, qui est déjà utilisé sur le Web, en utilisant UDP au lieu de TCP pour le protocole de transport sous-jacent. Comme HTTP/2, il n’observe pas les versions majeures précédentes du protocole. La prise en charge de HTTP/3 a été ajoutée à Cloudflare et Google Chrome en septembre 2019 et peut être activée dans les versions stables de Chrome et Firefox.

Je récupère le binaire de Caddy 2 pour freeBSD depuis GitHub :

caddyserver/caddy

Je démarre Caddy avec ce fichier Caddyfile qui introduit le support expérimental de HTTP/3 :

via ce simple script shell :

Je peux installer HTTPie :

afin de lancer une requête vers ce site web et retrouver la partie Header avec alt-svc qui montre la présence du protocole HTTP/3 :

On peut également utiliser une version compilée de cURL :

curl/curl

Je récupère la dernière version en développement du navigateur Chrome :

Chrome Release Channels - The Chromium Projects

et je le lance sur mon poste avec le support du protocole HTTP/3 :

Support expérimental du protocole HTTP/3 confirmé par ce test :

Geekflare HTTP/3 Testing Tool

Pour aller plus loin :

À suivre !

Top comments (0)