Générateur de configuration Nginx — Blocs de serveur et proxy inverse

Choisissez ce que Nginx doit faire — servir un site statique ou une application SPA, agir en tant que proxy vers une application Node/Python, ou exécuter du code PHP — et cochez les options supplémentaires. Vous obtenez ainsi un bloc de serveur commenté et prêt à l'emploi, avec HTTPS, des redirections www, la compression gzip, la mise en cache et des en-têtes de sécurité.

Mis à jour le
nginx.conf

Enregistrer sous /etc/nginx/sites-available/example.com.conf, reliez-le à sites-enabled, puis exécutez sudo nginx -t && sudo systemctl reload nginx.

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Générateur de configuration Nginx

  1. Choisissez le scénario : site statique, SPA (toutes les routes sont redirigées vers index.html), proxy inverse vers une application sur un port, ou PHP-FPM.
  2. Saisissez votre domaine, le répertoire racine des documents ou l'adresse en amont, puis choisissez la manière dont www doit être gérée.
  3. Cochez les options supplémentaires : HTTPS avec les chemins Let’s Encrypt, gzip, mise en cache statique, en-têtes de sécurité, WebSockets, limitation de débit.
  4. Copiez le fichier de configuration, testez-le avec nginx -t puis relancez Nginx.

Ce qu'apporte chaque option

OptionDirectives
HTTPSServeur sur le port 80 qui redirige vers 301, listen 443 ssl, les chemins d’accès aux certificats Certbot et l’emplacement du défi ACME
SPAtry_files $uri $uri/ /index.html; afin que les routes côté client ne renvoient pas de code 404
Proxy inverseproxy_pass plus Host, X-Real-IP, X-Forwarded-For et X-Forwarded-Proto en-têtes
WebSocketsproxy_http_version 1.1 avec Upgrade / Connection en-têtes
gzipCompression pour le texte, JSON, JS, CSS, SVG et les polices
Mise en cache statiqueDurée de Cache-Control: immutable pour les ressources hachées, mise en cache de courte durée pour le HTML
En-têtes de sécuritéX-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy
Limitation de débitlimit_req_zone (dans le http ) et limit_req avec une

Obtention du certificat

Commencez par créer la configuration avec HTTPS désactivé, rechargez Nginx et exécutez sudo certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com — ou tout simplement sudo certbot --nginx. Activez ensuite HTTPS, rechargez, puis vérifiez le résultat à l’aide du vérificateur SSL, du vérificateur de redirection et du vérificateur d’en-têtes de sécurité.

Erreurs courantes

  • Point-virgule manquant — chaque directive se termine par ;. nginx -t indique la ligne exacte.
  • Héritage d’`add_header` — une add_header à l’intérieur d’un location remplace tous les en-têtes au niveau du serveur. Le générateur répète les en-têtes de sécurité si nécessaire.
  • Barre oblique finale dans proxy_pass — proxy_pass http://app/; supprime le préfixe d’emplacement, proxy_pass http://app; le conserve.
  • Types MIME incorrects — polices ou .webmanifest servies en tant que application/octet-stream; vérifiez-les à l’aide de l’outil de recherche de types MIME.

Vous utilisez Docker ? Associez-le au générateur Docker Compose.

Aussi recherché comme : configuration du proxy inverse nginx, configuration de nginx spa, bloc de serveur nginx, redirection https avec nginx, proxy websocket nginx, configuration de nginx et php-fpm, redirection « www » avec nginx.

Outils complémentaires : Générateur de configuration Nginx

  • Apache VirtualHost Generator — Get a complete Apache virtual host config for your domain: a static site, WordPress, PHP-FPM or a reverse proxy to a Node or Python app.
  • Caddyfile Generator — Caddy gets HTTPS certificates automatically — you only describe your site.
  • YAML Validator — Paste a Docker Compose file, Kubernetes manifest, GitHub Actions workflow or any YAML to pinpoint errors, catch common pitfalls and get a cleanly formatted version.
  • Kubernetes YAML Generator — Fill in your app’s name, image and port and get production-ready Kubernetes YAML: a Deployment with probes, resource limits and a hardened security context, plus the Service, Ingress with TLS, ConfigMap, Secret and HorizontalPodAutoscaler you tick — in one file ready for kubectl apply.

Questions fréquentes

Comment puis-je tester une configuration Nginx avant de la recharger ?
Exécutez la commande « sudo nginx -t ». Elle vérifie la syntaxe et les chemins d'accès aux fichiers, puis affiche la ligne où se trouve l'erreur éventuelle. Ne relancez le service (sudo systemctl reload nginx) que lorsque le message « syntax is ok » et « test is successful » s'affiche.
Comment faire en sorte qu’une application React ou Vue continue de fonctionner lors de l’actualisation de la page ?
Utilisez le scénario SPA. Il ajoute la ligne « try_files $uri $uri/ /index.html ; », de sorte que tout chemin inconnu renvoie la page index.html et que le routeur côté client prend le relais.
Où est stockée la variable « limit_req_zone » ?
La directive `limit_req_zone` doit figurer dans le contexte http (par exemple dans /etc/nginx/nginx.conf ou en début d'un fichier qui y est inclus), et non à l'intérieur de la section `server`. Le générateur la place en début de fichier avec un commentaire ; les fichiers du répertoire `sites-enabled` sont inclus par défaut dans le contexte http.
Dois-je activer le protocole HSTS ?
Uniquement si le protocole HTTPS fonctionne sur le domaine et tous les sous-domaines que vous incluez. Les navigateurs mémorisent le HSTS pendant la durée « max-age » ; ainsi, un certificat invalide rendra le site inaccessible. Commencez par définir une durée « max-age » courte.
Puis-je installer Générateur de configuration Nginx en tant qu’application web et l’utiliser hors ligne ?
Oui. Générateur de configuration Nginx est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires