Aller au contenu
ToolMug

Générateur de configuration Nginx

Indiquez votre domaine, choisissez le type de site et cochez les fonctionnalités nécessaires pour obtenir une configuration de serveur nginx prête à l'emploi. Elle couvre les proxys inverses (applications Node.js, Python, Java), les sites statiques, les applications monopages (React, Vue) et PHP, avec redirections HTTP vers HTTPS et www, WebSocket, gzip et mise en cache des fichiers statiques.

Fonctionne dans votre navigateur — rien de ce que vous saisissez n’est envoyé

HTTPS
Options supplémentaires

0 conserve la valeur par défaut de nginx, 1 Mo.

Obtenez d’abord le certificat, par exemple : certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com. Puis exécutez nginx -t et rechargez nginx.

Mode d’emploi

  1. Indiquez le domaine et choisissez le type de site — une adresse en amont pour un proxy inverse, ou la racine web pour les autres.
  2. Cochez HTTPS, HTTP/2, HSTS, la redirection www, gzip, la mise en cache et les en-têtes de sécurité selon vos besoins.
  3. Copiez ou téléchargez la configuration dans /etc/nginx/conf.d/, exécutez nginx -t et rechargez nginx.

Explication des options

Proxy inverse
Transmet vers l'adresse en amont et passe Host, X-Real-IP, X-Forwarded-For et X-Forwarded-Proto, afin que le backend voie l'IP réelle et le schéma du visiteur.
Application monopage
Les chemins inconnus retombent sur index.html, afin que les routeurs en mode historique (React Router, Vue Router) ne renvoient pas de 404 au rechargement.
HTTPS
Les chemins des certificats suivent les valeurs par défaut de certbot (Let's Encrypt) et les requêtes HTTP reçoivent une redirection 301 vers HTTPS. HTTP/2 utilise la forme listen 443 ssl http2, qui fonctionne sur toutes les versions de nginx.
HSTS
Indique aux navigateurs de n'utiliser que HTTPS pour le domaine et tous ses sous-domaines pendant un an. Assurez-vous d'abord que chaque sous-domaine prend en charge HTTPS, sinon ils deviennent inaccessibles.

Exemple : application monopage avec HTTPS et www

Avec le domaine example.com, Application monopage, HTTPS, HTTP/2 et Répondre aussi à www. et le rediriger cochés (et Compression Gzip, En-têtes de sécurité et Cache long pour les fichiers statiques désactivés pour rester court), le générateur écrit trois blocs server :

  1. Le port 80 répond aux deux noms, laisse /.well-known/acme-challenge/ accessible pour le renouvellement du certificat et envoie tout le reste vers https://example.com$request_uri avec un 301.
  2. Le port 443 pour www.example.com utilise le même certificat et renvoie un 301 vers le domaine nu.
  3. Le port 443 pour example.com sert le site :
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

Les deux blocs HTTPS pointent vers /etc/letsencrypt/live/example.com/fullchain.pem et privkey.pem, autorisent TLS 1.2 et 1.3 et utilisent un cache de session partagé de 10 Mo avec un délai d’expiration de session d’un jour. La ligne try_files permet de faire en sorte qu’un rechargement sur une route côté client comme /settings renvoie l’application plutôt qu’une erreur 404.

Questions fréquentes

Pourquoi nginx -t signale-t-il que le paramètre http2 est obsolète ?

Depuis nginx 1.25.1, la directive séparée http2 on; est préférée, mais la version 1.24 — livrée avec Ubuntu 24.04 et d'autres — ne la comprend pas. La forme listen ... http2 fonctionne partout ; les versions récentes affichent seulement un avertissement.

Le certificat doit-il inclure www ?

Oui, quand la redirection www est activée. Demandez les deux noms, par exemple certbot -d example.com -d www.example.com.

Les envois échouent avec 413 Request Entity Too Large ?

nginx autorise par défaut un corps de requête de 1 Mo. Réglez la taille maximale d'envoi selon vos besoins, par exemple 100.

Les connexions WebSocket échouent à travers le proxy ?

Le proxy doit transmettre les en-têtes Upgrade et Connection. Cocher Prise en charge de WebSocket les ajoute et augmente le délai de lecture à une heure.

Confidentialité

Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.

Outils similaires