Mode d'emploi des outils

Utiliser le générateur Nginx / Caddy pas à pas

Site statique, PHP ou application : comment remplir le générateur de configuration Nginx ou Caddy, installer le fichier, obtenir le HTTPS et vérifier que tout marche.

Publié le 10 octobre 2026 · ⏱ 7 min de lecture

Le générateur Nginx / Caddy écrit la configuration d’un site pour un serveur web installé directement sur le système (pas dans Docker). Il sert dans trois cas : publier un site statique, un site PHP (WordPress…), ou mettre une application derrière un vrai nom de domaine en HTTPS.

Nginx ou Caddy ?

  • Caddy obtient et renouvelle les certificats HTTPS tout seul, et sa configuration tient en quelques lignes. Si vous partez de zéro, c’est le plus simple.
  • Nginx est partout, très documenté, et sans doute déjà installé si vous reprenez un serveur existant. Le HTTPS passe par Certbot.

Ne mettez pas les deux : un seul programme peut écouter sur les ports 80 et 443.

Remplir le formulaire

  1. Domaine : exemple.fr. Le site doit déjà pointer vers votre serveur (DNS).
  2. Variante www : choisissez quelle adresse est la « vraie » ; l’autre redirige vers elle. Pensez à créer l’entrée DNS du www aussi.
  3. Type de site :
    • Application : un programme qui écoute sur un port. Indiquez son adresse, 127.0.0.1:3000 par exemple. C’est le cas d’un conteneur créé avec le générateur docker-compose en mode « Derrière Nginx ou Caddy ».
    • Statique : des fichiers HTML. Indiquez leur dossier, /var/www/exemple.fr.
    • PHP : comme statique, plus la version de PHP.
  4. Envoi max : taille maximale d’un fichier envoyé. Montez-la pour un cloud ou une galerie photo.

Les options

Option Recommandation
HTTPS (Let’s Encrypt) Toujours, sauf test en local
HSTS Oui, une fois que le HTTPS marche : le navigateur refusera ensuite le HTTP pendant un an
En-têtes de sécurité Oui
Compression Oui
Cache des fichiers statiques Oui pour un site statique
WebSockets Seulement si l’application en utilise (chat, temps réel, Uptime Kuma…)
Nginx ancien Si nginx -v affiche une version antérieure à 1.25 (Ubuntu 24.04, Debian 12)

Installer avec Nginx

L’onglet Installation donne les commandes exactes pour votre domaine. Dans l’ordre :

sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot certonly --nginx -d exemple.fr -d www.exemple.fr --deploy-hook "systemctl reload nginx"
sudo nano /etc/nginx/sites-available/exemple.fr      # collez la configuration
sudo ln -s /etc/nginx/sites-available/exemple.fr /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
  • Le certificat est obtenu avant d’installer la configuration, qui en a besoin.
  • nginx -t vérifie la syntaxe : s’il affiche une erreur, rien n’est rechargé et l’ancien site continue de tourner.
  • Le renouvellement est automatique (Certbot installe sa propre tâche planifiée), et --deploy-hook recharge Nginx à chaque renouvellement.

Installer avec Caddy

sudo apt install -y caddy
sudo nano /etc/caddy/Caddyfile       # remplacez tout par la configuration
caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
sudo systemctl reload caddy

Le certificat est demandé au premier rechargement, en quelques secondes. Pour plusieurs sites, mettez leurs blocs les uns à la suite des autres dans le même Caddyfile.

Vérifier

curl -sI https://exemple.fr | head -5          # doit afficher HTTP/2 200 (ou 301 pour la variante www)
curl -sI http://exemple.fr | grep -i location  # doit rediriger vers https://

Pour un site statique, n’oubliez pas les droits : le serveur web doit pouvoir lire les fichiers.

sudo chown -R www-data:www-data /var/www/exemple.fr     # Nginx

Problèmes fréquents

  • Le certificat ne s’obtient pas : DNS pas encore propagé, ou port 80 fermé (décodeur : connexion refusée).
  • « conflicting server name » : le domaine est déclaré deux fois (décodeur).
  • 502 Bad Gateway : l’application ne répond pas à l’adresse indiquée (décodeur).
  • Le port 80 est déjà pris : Docker (Traefik ou Caddy en conteneur) occupe déjà 80/443. Dans ce cas, ne passez pas par Nginx système : utilisez le générateur docker-compose avec l’option Traefik ou Caddy.

Une commande qui ne marche pas, une explication pas claire ? Signaler une erreur dans cette page.

Prêt à vous lancer ?

Choisissez vos applications et récupérez une installation complète.

Créer mon serveur