Retour aux outils

Générateur de configuration Nginx

Créez un bloc serveur complet pour un site statique, un reverse proxy ou un répartiteur de charge. SSL, gzip, mise en cache et les pièges de chemin de requête qui mordent en production sont pris en charge pour vous — copiez, enregistrez, rechargez.

Serveur

Domaine et mode

Choisissez ce que nginx doit faire des requêtes pour ce domaine.

TLS

SSL / HTTPS

Ceci suppose que le certificat est déjà émis. Besoin d'en obtenir un ? Utilisez le Générateur de commandes de certificat SSL pour les commandes Certbot — cette étape n'est pas couverte ici.

Performance

Gzip, mise en cache et limites d'upload

Validation

Pièges nginx courants, vérifiés en direct

Ce sont les mauvaises configurations qui passent nginx -t sans se plaindre et qui n'apparaissent qu'une fois le trafic réel présent.

Directive listen correcte pour le TLS

listen 443 ssl; — pas seulement listen 443; — pour que nginx termine réellement le TLS sur ce port au lieu de servir du HTTP en clair sans le signaler.

client_max_body_size est défini explicitement

10m est autorisé, donc les uploads jusqu'à cette taille n'obtiendront pas de 413 silencieux.

Résultat

Bloc serveur généré

config nginx

# --- HTTP -> HTTPS redirect ---
server {
    listen 80;
    listen [::]:80;
    server_name play.wespner.eu;
    return 301 https://$host$request_uri;
}

# --- HTTPS server ---
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name play.wespner.eu;

    ssl_certificate     /etc/letsencrypt/live/play.wespner.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/play.wespner.eu/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    # Compression
    gzip on;
    gzip_vary on;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml text/javascript image/svg+xml;

    client_max_body_size 10m;

    # Static asset caching
    location ~* \.(css|js|mjs|json|jpg|jpeg|png|gif|svg|webp|ico|woff2?|ttf|eot)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    root /var/www/play.wespner.eu/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

enregistrer et activer

# Save the block above as:
/etc/nginx/sites-available/play.wespner.eu

# Enable it and reload:
sudo ln -s /etc/nginx/sites-available/play.wespner.eu /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Vous gérez votre propre serveur de jeu ?

Serveurs de jeu Wespner avec protection DDoS, disques NVMe et activation en quelques minutes.

Découvrir l'hébergement