Générateur de configuration Nginx

Générez des configurations Nginx prêtes pour la production avec SSL, reverse proxy, PHP-FPM, gzip, mise en cache, en-têtes de sécurité, limitation de débit et redirections. 7 préréglages inclus.

Mis à jour le

Share:
Home/Website Tools/Nginx Config Generator

Nginx Config Generator

Generate production-ready Nginx configuration files with SSL, reverse proxy, PHP-FPM, caching, security headers, and more.

Preset Templates

Server Block

HTTPS / SSL

Proxy Pass

PHP-FPM

Static Files

GZIP

Security

Redirects

Logging

Generated Config

36 lines

Active Features

Gzip

Questions Fréquentes

Qu'est-ce que le Générateur de Configuration Nginx ?

Le Générateur de Configuration Nginx est un outil en ligne gratuit qui génère des configurations Nginx prêtes pour la production avec SSL, reverse proxy, php-fpm, gzip, mise en cache, en-têtes de sécurité, limitation de débit et redirections. 7 préréglages inclus. Il fonctionne entièrement dans votre navigateur, sans installation ni inscription.

Quels préréglages ?

Sept : Site statique, WordPress, Node.js, Laravel, Next.js, Django et SPA (React/Vue). Chacun préremplit les paramètres appropriés.

Configuration complète et fonctionnelle ?

Génère un bloc server pour nginx.conf ou sites-available. Les directives de zone de limitation de débit sont affichées en commentaires pour le bloc http.

La configuration est-elle envoyée à un serveur ?

Non. Tout s'exécute côté client, dans votre navigateur.

Le Générateur de Configuration Nginx est-il gratuit ?

Oui, le Générateur de Configuration Nginx est 100 % gratuit, sans inscription, sans frais cachés et sans limite d'utilisation. Tout le traitement se fait localement dans votre navigateur, garantissant une confidentialité totale.

Mes données sont-elles en sécurité avec cet outil ?

Absolument. Le Générateur de Configuration Nginx traite tout côté client, dans votre navigateur. Aucune donnée n'est téléchargée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.

Le Générateur de Configuration Nginx fonctionne-t-il sur les appareils mobiles ?

Oui, le Générateur de Configuration Nginx est entièrement responsive et fonctionne sur smartphones et tablettes. Vous pouvez l'utiliser sur n'importe quel appareil doté d'un navigateur web moderne, sans aucune application à télécharger.

Dois-je créer un compte pour utiliser cet outil ?

Aucun compte ni inscription n'est nécessaire. Ouvrez simplement le Générateur de Configuration Nginx dans votre navigateur et utilisez-le immédiatement. Il n'y a ni barrière d'inscription ni restriction d'utilisation.

Comment utiliser le Générateur de Configuration Nginx ?

Saisissez simplement vos données dans le champ prévu, ajustez les paramètres selon vos préférences, et l'outil les traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.

Quels navigateurs sont pris en charge ?

Le Générateur de Configuration Nginx fonctionne dans tous les navigateurs modernes, dont Chrome, Firefox, Safari, Edge et Opera. Pour une expérience optimale, utilisez la dernière version de votre navigateur préféré.

Pourquoi la directive limit_req_zone doit-elle se trouver dans le bloc http plutôt que dans le bloc server ?

Dans Nginx, la limitation de débit repose sur deux éléments qui vivent dans des contextes différents. La directive limit_req_zone définit une zone de mémoire partagée (par exemple zone=ratelimit:10m rate=...) et n'est valide que dans le bloc http de premier niveau, car cette zone est partagée entre tous les blocs server. La directive limit_req correspondante, qui applique réellement la limite avec une valeur de burst, se place quant à elle dans le bloc server ou location. Si vous collez limit_req_zone dans un bloc server, Nginx refuse de démarrer avec une erreur du type « directive is not allowed here ». C'est pourquoi ce générateur place la ligne limit_req directement dans votre bloc serveur mais émet la ligne limit_req_zone sous forme de commentaire étiqueté, pour vous rappeler de la déplacer dans le contexte http. Activez la limitation de débit dans l'outil et copiez les deux éléments au bon endroit.

Quelle est la différence entre une configuration en proxy inverse et une configuration PHP-FPM sous Nginx ?

Une configuration en proxy inverse utilise proxy_pass pour transmettre les requêtes à un serveur d'application distinct tournant sur son propre port, comme un processus Node.js, Next.js ou Django/Gunicorn sur 127.0.0.1:3000 ou :8000. Nginx ajoute des en-têtes comme X-Real-IP, X-Forwarded-For, X-Forwarded-Proto et Host, ainsi que les en-têtes Upgrade et Connection lorsque les WebSockets sont activés. Une configuration PHP-FPM utilise à la place un bloc location ~ \.php$ avec fastcgi_pass pointant vers un socket Unix et inclut fastcgi_params, si bien que Nginx transmet directement les fichiers PHP au processus FPM plutôt que de faire un proxy HTTP. WordPress et Laravel empruntent la voie FastCGI ; Node, Next.js et Django empruntent la voie du proxy inverse. Choisissez le préréglage correspondant dans le générateur, et il configure automatiquement les bonnes directives pour votre stack.

Comment rediriger HTTP vers HTTPS et forcer www ou non-www dans une seule configuration Nginx ?

Les deux redirections se gèrent proprement au sein d'une même configuration de blocs serveur. Pour le passage de HTTP à HTTPS, un serveur distinct écoutant sur le port 80 intercepte les requêtes en clair et émet un 301 vers la version https://, tandis que votre serveur principal écoute sur le port 443 avec SSL. Pour la canonicalisation www contre non-www, vous redirigez un hôte vers l'autre, également avec un 301, afin que les moteurs de recherche et les navigateurs se fixent sur un seul domaine canonique au lieu de traiter www et la racine comme des sites dupliqués. Faire cela à la main expose à des boucles de redirection si les règles se chevauchent ou si une directive atterrit dans le mauvais bloc serveur. Activez le passage HTTP vers HTTPS et votre option www ou non-www préférée dans le générateur, et il écrit pour vous les blocs de redirection dans le bon ordre, prêts à copier.

Pourquoi utiliser listen 443 ssl http2 et TLS 1.2/1.3 plutôt que des réglages plus anciens ?

Ajouter http2 à la ligne listen 443 ssl active HTTP/2, qui multiplexe de nombreuses requêtes sur une seule connexion et accélère nettement les pages chargées en ressources, sans aucun changement côté application. Restreindre ssl_protocols à TLSv1.2 et TLSv1.3 élimine les anciens protocoles SSLv3, TLS 1.0 et TLS 1.1, obsolètes et vulnérables à des attaques comme POODLE et BEAST, de sorte que les clients modernes ne négocient que des suites de chiffrement sécurisées. Le générateur ajoute également une suite de chiffrement renforcée, un cache de session, HSTS optionnel avec preload, et l'agrafage OCSP afin que les vérifications de révocation de certificat ne ralentissent pas la poignée de main. Ce sont des réglages par défaut que l'on oublie souvent en écrivant une configuration à la main. Activez la section SSL dans l'outil et ces paramètres sont remplis pour vous, prêts à être vérifiés avant le déploiement.

Comment faire fonctionner le routage côté client dans Nginx pour une application monopage React ou Vue ?

Les applications monopages (SPA) gèrent le routage en JavaScript, donc lorsqu'un utilisateur actualise un lien profond comme /dashboard, le navigateur demande à Nginx un fichier réel à ce chemin. Sans traitement particulier, Nginx renvoie une erreur 404 car aucun fichier de ce nom n'existe sur le disque. La solution est une directive try_files qui se replie sur votre index.html : try_files $uri $uri/ /index.html;. Cela sert les véritables ressources statiques lorsqu'elles existent, mais renvoie tout chemin inconnu vers la coquille de l'application, laissant le routeur client prendre le relais. Oublier cette ligne est la cause la plus fréquente de rupture des SPA lors d'une actualisation en production. Le préréglage SPA (React/Vue) de ce générateur met en place automatiquement ce repli d'historique, ainsi que la compression gzip et la mise en cache des ressources, il ne reste plus qu'à copier le résultat pour que vos routes survivent à une actualisation forcée.

À propos du générateur de configuration Nginx

Le générateur de configuration Nginx crée un bloc serveur propre et prêt pour la production, sans que vous ayez à retenir chaque directive par cœur. Vous renseignez votre domaine, vous le pointez vers une racine de documents ou une application upstream, vous activez les options dont vous avez besoin, et l'outil écrit en temps réel une configuration correctement indentée. Il s'adresse aux développeurs, aux administrateurs système et à toute personne qui déploie un site ou une application et préfère partir d'un fichier .conf sain plutôt que de copier-coller des fragments trouvés dans une dizaine d'articles de blog.

Tout est généré directement dans votre navigateur. Les noms de domaine, chemins de certificats, chemins de socket et adresses upstream que vous saisissez ne sont jamais envoyés nulle part : aucun appel API, aucun compte, aucune journalisation de notre côté. Vous pouvez copier le résultat dans votre presse-papiers ou le télécharger sous forme de fichier .conf nommé d'après votre serveur, puis le déposer dans sites-available ou nginx.conf.

Partir d'un préréglage, puis personnaliser

Sept préréglages couvrent les déploiements les plus courants et pré-remplissent les options pertinentes, pour que vous n'ayez pas à activer des interrupteurs à l'aveugle :

  • Site statique — HTML/CSS/JS pur avec compression gzip et mise en cache des ressources
  • WordPress — PHP-FPM, une limite d'upload de 64 Mo et un cadrage SAMEORIGIN
  • Node.js et Next.js — proxy inverse vers 127.0.0.1:3000 avec les en-têtes de mise à niveau WebSocket
  • Laravel — PHP-FPM avec racine sur /public et try_files vers index.php
  • Django — proxy inverse vers un upstream Gunicorn sur le port 8000
  • SPA (React/Vue) — repli d'historique try_files vers index.html pour que le routage côté client fonctionne

Une fois le préréglage choisi, vous pouvez toujours modifier n'importe quelle valeur ; le résultat se met à jour au fur et à mesure que vous tapez.

Ce que l'outil peut générer

Le générateur couvre les directives qui comptent vraiment pour un déploiement réel :

  • HTTPS / SSLlisten 443 ssl http2, chemins du certificat et de la clé, TLS 1.2/1.3, une suite de chiffrement renforcée, un cache de session, HSTS optionnel avec preload, et l'agrafage OCSP.
  • Proxy inverseproxy_pass vers votre upstream avec les en-têtes X-Real-IP, X-Forwarded-For, X-Forwarded-Proto et Host, ainsi que les en-têtes Upgrade/Connection lorsque le support WebSocket est activé.
  • PHP-FPM — un bloc location ~ \.php$ relié à votre socket FastCGI avec les fastcgi_params standard.
  • Performance — gzip (niveau 6, gzip_min_length 256) et des en-têtes expires plus Cache-Control par type pour les images, le CSS et le JS.
  • SécuritéX-Frame-Options, X-Content-Type-Options: nosniff, Referrer-Policy, une Content-Security-Policy optionnelle, des limites de taille du corps de requête, et un blocage de l'accès aux fichiers cachés (dotfiles).
  • Limitation de débit — une directive limit_req dans le bloc serveur, avec la limit_req_zone correspondante affichée en commentaire, car cette ligne appartient au contexte http.
  • Redirections — bascule automatique de HTTP vers HTTPS, canonicalisation www/non-www, et vos propres règles de réécriture rewrite en 301 ou 302.

Pourquoi une configuration générée vaut mieux qu'une édition manuelle

La configuration Nginx ne pardonne rien : un point-virgule manquant, une directive placée dans le mauvais contexte, ou une ligne try_files oubliée peut mettre un site hors ligne ou casser silencieusement le routage d'une SPA. Générer le bloc garantit une structure valide et une indentation cohérente, et vous oriente vers des réglages par défaut souvent négligés — HTTP/2, TLS moderne uniquement, en-têtes de sécurité marqués always, et désactivation des journaux d'accès pour les ressources statiques afin de réduire le bruit dans les logs.

Un détail à connaître : la directive limit_req_zone doit vivre dans le bloc http, pas à l'intérieur de server, et c'est exactement pour cette raison que l'outil l'émet sous forme de commentaire étiqueté plutôt que de l'enfouir à un endroit où elle échouerait au chargement. Avant de passer en production, validez toujours avec nginx -t et rechargez avec nginx -s reload (ou systemctl reload nginx). Considérez le résultat comme un point de départ solide et opinionné — vérifiez les chemins, les certificats et les adresses upstream par rapport à votre propre serveur avant de déployer.