Les principales commandes Caddy
Caddy est un serveur web avec HTTPS automatique. Cet aide-mémoire regroupe les commandes et les directives de Caddyfile les plus courantes. Caddy n’est pas encore installé ? Voir Installer Caddy sur Ubuntu.
Commandes en ligne
Section intitulée « Commandes en ligne »| Commande | Rôle |
|---|---|
caddy version |
Affiche la version |
caddy run |
Démarre Caddy au premier plan (utile pour tester) |
caddy start |
Démarre Caddy en arrière-plan |
caddy stop |
Arrête Caddy |
caddy reload --config /etc/caddy/Caddyfile |
Recharge la configuration sans coupure |
caddy validate --config /etc/caddy/Caddyfile |
Vérifie la configuration sans l’appliquer |
caddy fmt --overwrite /etc/caddy/Caddyfile |
Reformate le Caddyfile |
caddy adapt --config Caddyfile --pretty |
Convertit le Caddyfile en JSON |
caddy list-modules |
Liste les modules disponibles |
caddy hash-password |
Génère un hash pour l’authentification basique |
caddy trust |
Installe l’autorité de certification locale (HTTPS en développement) |
Avec systemd (paquet Ubuntu)
Section intitulée « Avec systemd (paquet Ubuntu) »sudo systemctl status caddysudo systemctl enable --now caddy # activer au démarragesudo systemctl reload caddy # recharge la configurationsudo systemctl restart caddyjournalctl -u caddy --no-pager -n 100 # derniers logsBonne pratique : valider avant de recharger.
sudo caddy validate --config /etc/caddy/Caddyfile && sudo systemctl reload caddyServeurs rapides sans Caddyfile
Section intitulée « Serveurs rapides sans Caddyfile »caddy file-server --browse --listen :8080 # servir le dossier courantcaddy reverse-proxy --from :8080 --to localhost:3000 # proxy inverseExemples de Caddyfile
Section intitulée « Exemples de Caddyfile »Quelques exemples rapides. Pour une bibliothèque plus complète (sécurité, protection de dossier, reverse proxy, optimisations), voir Caddyfile : exemples de directives réutilisables.
Site statique
Section intitulée « Site statique »exemple.com { root * /var/www/site encode zstd gzip file_server}Proxy inverse
Section intitulée « Proxy inverse »app.exemple.com { reverse_proxy 127.0.0.1:3000}Redirection
Section intitulée « Redirection »www.exemple.com { redir https://exemple.com{uri} permanent}En-têtes et cache
Section intitulée « En-têtes et cache »exemple.com { root * /var/www/site file_server
@assets path /assets/* header @assets Cache-Control "public, max-age=31536000, immutable"
header { Strict-Transport-Security "max-age=31536000" X-Content-Type-Options "nosniff" -Server }}Page d’erreur 404 personnalisée
Section intitulée « Page d’erreur 404 personnalisée »exemple.com { root * /var/www/site file_server
handle_errors { @notfound `{err.status_code} == 404` rewrite @notfound /404.html file_server }}Authentification basique
Section intitulée « Authentification basique »admin.exemple.com { basic_auth { utilisateur $2a$14$HASH_GENERE_PAR_CADDY_HASH_PASSWORD } reverse_proxy 127.0.0.1:9000}Pour aller plus loin
Section intitulée « Pour aller plus loin »- Documentation officielle : caddyserver.com/docs
- Aide intégrée :
caddy help,caddy help reload