Nginx ou Caddy : lequel choisir ?
Caddy est le plus simple : il obtient et renouvelle les certificats HTTPS tout seul, et sa configuration tient en quelques lignes. C'est le bon choix si vous débutez ou si vous hébergez quelques sites.
Nginx est le standard historique : extrêmement répandu, très documenté et très performant. Il demande un peu plus de configuration (HTTPS via Certbot), mais c'est lui que vous croiserez le plus souvent en entreprise.
Ce que fait chaque option
Redirection HTTP vers HTTPS
Toutes les requêtes en http:// sont redirigées (code 301) vers https://. Le code 301 indique aux moteurs de recherche que la redirection est définitive : ils n'indexent que la version HTTPS.
Variante www
exemple.fr et www.exemple.fr sont deux adresses différentes pour Google. En redirigeant l'une vers l'autre, vous évitez le contenu dupliqué et concentrez le référencement sur une seule adresse. Pensez à créer l'entrée DNS des deux noms.
HSTS
L'en-tête Strict-Transport-Security demande au navigateur de n'utiliser que HTTPS pendant un an, même si l'on tape http://. Ne l'activez qu'une fois HTTPS fonctionnel : le navigateur s'en souvient.
En-têtes de sécurité
X-Content-Type-Options: nosniffempêche le navigateur de deviner le type d'un fichier.X-Frame-Options: SAMEORIGINempêche d'afficher votre site dans une iframe d'un autre site (clickjacking).Referrer-Policylimite les informations envoyées aux sites vers lesquels vous faites un lien.
Taille max d'envoi
Par défaut, Nginx refuse les envois de plus de 1 Mo (erreur 413 Request Entity Too Large). Augmentez cette valeur pour un Nextcloud, un WordPress avec des médias ou toute application qui reçoit des fichiers.
WebSockets
Indispensable pour les applications temps réel derrière Nginx (Uptime Kuma, Home Assistant, chats, tableaux de bord en direct). Caddy les gère automatiquement.
Erreurs fréquentes
- « nginx: [emerg] duplicate map » : le bloc
map $http_upgradeexiste déjà dans un autre fichier. Supprimez-le de l'un des deux. - « the "listen ... http2" directive is deprecated » : votre Nginx est récent (1.25 ou plus), décochez l'option « Nginx ancien ».
- Le certificat ne s'obtient pas : vérifiez que le nom de domaine pointe bien vers l'IP du serveur et que les ports 80 et 443 sont ouverts dans le pare-feu.
- Erreur 502 Bad Gateway : l'application ne répond pas à l'adresse indiquée. Vérifiez qu'elle tourne et qu'elle écoute bien sur ce port.
Pour aller plus loin : sécuriser son VPS en 10 étapes.