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 !

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay