Journal des mises à jour

Guide rapide de configuration Nginx

Tableau de référence rapide des fragments de configuration Nginx courants, pour rechercher et copier rapidement le code de configuration

Configuration de base
7

Définition automatique du nombre de processus de travail (généralement égal au nombre de cœurs du CPU)

worker_processes auto;

Définition du nombre maximal de connexions par processus de travail

events {
    worker_connections 1024;
}

Inclusion de la configuration des types MIME

include /etc/nginx/mime.types;
default_type application/octet-stream;

Activation de la transmission efficace des fichiers

sendfile on;
tcp_nopush on;
tcp_nodelay on;

Définition du temps d'expiration des connexions persistantes

keepalive_timeout 65;

Définition de la taille maximale du corps de la requête du client

client_max_body_size 100M;

Masquage du numéro de version de Nginx

server_tokens off;
Bloc Server
6

Configuration de base du bloc Server

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    index index.html;
}

Configuration de plusieurs noms de domaine

server_name example.com www.example.com;

Configuration de noms de domaine avec joker

server_name *.example.com;

Définition du serveur par défaut

listen 80 default_server;

Écoute sur une adresse IPv6

listen [::]:80;

Définition du répertoire racine ou d'un alias

root /var/www/html;
# Ou utiliser alias
alias /var/www/files/;
Correspondance Location
7

Correspondance exacte du chemin

location = /path {
    # Correspondance exacte
}

Correspondance de préfixe du chemin

location /api/ {
    # Correspondance de préfixe
}

Correspondance par expression régulière

location ~ \.php$ {
    # Correspondance régulière (sensible à la casse)
}

Correspondance régulière insensible à la casse

location ~* \.\(jpg|jpeg|png|gif)$ {
    # Correspondance régulière (insensible à la casse)
}

Correspondance de préfixe prioritaire (prioritaire par rapport aux expressions régulières)

location ^~ /images/ {\n    # Correspondance de préfixe prioritaire\n}

Ordre d'essai des fichiers (couramment utilisé pour les applications SPA)

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

Accès uniquement aux requêtes internes

location /internal/ {\n    internal;\n}
Proxy inverse
7

Configuration de base de proxy inverse

location /api/ {\n    proxy_pass http://backend:3000/;\n}

Définition des en-têtes de requête de proxy

proxy_set_header Host $host;\nproxy_set_header X-Real-IP $remote_addr;\nproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\nproxy_set_header X-Forwarded-Proto $scheme;

Configuration de proxy pour WebSocket

location /ws/ {\n    proxy_pass http://backend:3000/;\n    proxy_http_version 1.1;\n    proxy_set_header Upgrade $http_upgrade;\n    proxy_set_header Connection "upgrade";\n}

Définition du groupe de serveurs upstream

upstream backend {\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n    keepalive 32;\n}

Configuration de l'équilibrage de charge

upstream backend {\n    least_conn;  # ou ip_hash;\n    server 127.0.0.1:3000;\n    server 127.0.0.1:3001;\n}

Paramètres de timeout pour le proxy

proxy_connect_timeout 60s;\nproxy_send_timeout 60s;\nproxy_read_timeout 60s;

Configuration des tampons de proxy

proxy_buffering on;\nproxy_buffer_size 4k;\nproxy_buffers 8 4k;
SSL/HTTPS
7

Configuration SSL de base

server {\n    listen 443 ssl http2;\n    ssl_certificate /path/to/cert.pem;\n    ssl_certificate_key /path/to/key.pem;\n}

Définition des versions de protocole SSL

ssl_protocols TLSv1.2 TLSv1.3;

Définition des suites de chiffrement

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;\nssl_prefer_server_ciphers on;

Cache de session SSL

ssl_session_cache shared:SSL:10m;\nssl_session_timeout 1d;

Redirection HTTP vers HTTPS

server {\n    listen 80;\n    server_name example.com;\n    return 301 https://$server_name$request_uri;\n}

Activation de HSTS

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Activation de l'OCSP Stapling

ssl_stapling on;\nssl_stapling_verify on;\nresolver 8.8.8.8 8.8.4.4 valid=300s;
Configuration de cache
5

Mise en cache des ressources statiques

location ~* \\.\.(css|js|jpg|jpeg|png|gif|ico|svg|woff|woff2)$ {\n    expires 30d;\n    add_header Cache-Control "public, immutable";\n}

Désactivation du cache

location /api/ {\n    add_header Cache-Control "no-store, no-cache, must-revalidate";\n}

Configuration du cache de proxy

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g;\n\nlocation / {\n    proxy_cache my_cache;\n    proxy_cache_valid 200 1d;\n}

Activation de l'ETag

etag on;

Activation des requêtes conditionnelles

if_modified_since before;
Compression Gzip
4

Configuration de base de compression Gzip

gzip on;\ngzip_vary on;\ngzip_min_length 1024;\ngzip_comp_level 6;

Définition des types MIME à compresser

gzip_types text/plain text/css text/xml text/javascript application/javascript application/json application/xml;

Activation de la compression pour les requêtes proxy

gzip_proxied any;

Activer les fichiers pré-compressés

gzip_static on;
Configuration de sécurité
6

Configuration CORS跨域

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,Content-Type";

Protection contre XSS et le clickjacking

add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;

Politique de sécurité du contenu

add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'";

Limitation de la vitesse des requêtes

limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

location /api/ {
    limit_req zone=one burst=20 nodelay;
}

Interdire l'accès aux fichiers cachés

location ~ /\. {
    deny all;
}

Liste blanche d'IP

location /admin/ {
    allow 192.168.1.0/24;
    deny all;
}
Configuration des journaux
6

Configuration des journaux d'accès

access_log /var/log/nginx/access.log;

Configuration des journaux d'erreurs

error_log /var/log/nginx/error.log warn;

Format de journal personnalisé

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for"';

Journal au format JSON

log_format json escape=json '{"time":"$time_iso8601","ip":"$remote_addr","method":"$request_method","uri":"$uri","status":$status}';

Désactiver les journaux d'accès

access_log off;

Journal conditionnel (enregistrer uniquement les erreurs)

map $status $loggable {
    ~^[23] 0;
    default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;
Optimisation des performances
5

Cache des descripteurs de fichiers

open_file_cache max=1000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;

Activer l'acceptation de plusieurs connexions et epoll

events {
    multi_accept on;
    use epoll;
}

Cache FastCGI

fastcgi_cache_path /var/cache/nginx/fastcgi levels=1:2 keys_zone=fastcgi:10m;

location ~ \.php$ {
    fastcgi_cache fastcgi;
    fastcgi_cache_valid 200 1h;
}

Limitation du nombre de connexions

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 100;

Optimisation des temps d'attente

client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;

📖Présentation de l'outil.

Le guide de référence rapide de configuration Nginx est un outil de référence rapide conçu pour les développeurs Web et les administrateurs système. Il couvre tous les extraits de configuration courants, des configurations de base aux optimisations avancées, organisés par fonction, avec une recherche rapide et une copie en un clic. Que vous soyez débutant en Nginx ou ingénieur système expérimenté, vous trouverez ici rapidement le code de configuration dont vous avez besoin.

Caractéristiques.

1
10 grandes catégories couvrant toutes les scénarios de configuration Nginx courants
2
Plus de 60 extraits de configuration courants, couvrant tout, des bases aux niveaux avancés
3
Recherche par mot-clé, pour localiser rapidement la configuration souhaitée
4
Copie en un clic du code de configuration, pour améliorer l'efficacité du travail
5
Explications chinoises claires, faciles à comprendre et à apprendre
6
Navigation par catégories et filtrage, pour trouver rapidement les configurations associées
7
Conception réactive, prise en charge de la visualisation sur mobile
8
Exécution locale, sans connexion Internet nécessaire

Questions fréquentes.

🔗Outils associés.

Parseur d'expressions Cron

Vérifier la syntaxe Cron et prévisualiser les prochaines exécutions.

Outils pour développeurs
Utiliser maintenant

JSON vers CSV

Convertir les données JSON au format CSV

Convertisseur
Utiliser maintenant

JSON vers YAML

Convertir les données JSON au format YAML

Convertisseur
Utiliser maintenant

Convertisseur JSON vers XML.

Convertir des données JSON en XML.

Convertisseur
Utiliser maintenant

YAML vers JSON

Convertir la configuration YAML en données JSON

Convertisseur
Utiliser maintenant

Formatteur JSON

Mettre en forme, valider et compresser les données JSON

Outils JSON utilitaires
Utiliser maintenant

Visualisation JSON

Affichage des données JSON en arbre

Outils JSON utilitaires
Utiliser maintenant

Générateur de données JSON

Générer des données JSON simulées pour les tests.

Outils JSON utilitaires
Utiliser maintenant

Traducteur JSON i18n

Traduction complète d’un fichier JSON de langue. Collez votre contenu de base, choisissez la langue cible; l’outil utilisera des clés aplaties pour appeler votre API OpenRouter.

Outils JSON utilitaires
Utiliser maintenant

Comparaison des différences JSON

Comparer les différences entre deux données JSON

Outils JSON utilitaires
Utiliser maintenant

Générateur de codes QR

Générer une image de code QR personnalisée.

Outils d'image
Utiliser maintenant

Générateur d'image SVG de remplacement

Générer une image SVG de remplacement personnalisée

Outils d'image
Utiliser maintenant

Convertisseur d'images Base64

Outil de conversion réciproque entre images et Base64.

Outils d'image
Utiliser maintenant

Générateur UUID

Génération en lot d'identifiants UUID uniques

Outils générateurs
Utiliser maintenant

Générateur de mot de passe

Générer des mots de passe aléatoires, sécurisés et fiables.

Outils générateurs
Utiliser maintenant

Encodage/décodage Base64

Outil d'encodage et de décodage de chaînes Base64

Outils de texte
Utiliser maintenant

Encodage/décodage d'URL

Outil d'encodage et de décodage de chaînes URL

Outils de texte
Utiliser maintenant

Générateur de hachage MD5

outil de génération de hachage MD5

Outils de chiffrement
Utiliser maintenant

Générateur de hachage SHA256

outil de génération de hachage SHA256

Outils de chiffrement
Utiliser maintenant

Générateur de hachage SHA1

Outil de génération de hachages SHA1

Outils de chiffrement
Utiliser maintenant

Encodeur/décodeur hexadécimal

Outil d'encodage/décodage de chaînes hexadécimales

Outils de chiffrement
Utiliser maintenant

Encodeur/décodeur binaire

Outil d'encodage/décodage de chaînes binaires

Outils de chiffrement
Utiliser maintenant

Outil de chiffrement et de déchiffrement AES

Outil de chiffrement et déchiffrement utilisant l'algorithme AES

Outils de chiffrement
Utiliser maintenant

Outil de chiffrement/déchiffrement RSA

Outil de chiffrement RSA (asymétrique)

Outils de chiffrement
Utiliser maintenant

Générateur HMAC

Générateur de code d'authentification de message HMAC (HMAC).

Outils de chiffrement
Utiliser maintenant

Recherche d'adresse IP

Localisation géographique et informations réseau d'une adresse IP

Outils réseau
Utiliser maintenant

Convertisseur de millisecondes

Convertir entre le timestamp en millisecondes et la chaîne yyyy-MM-dd HH:mm:ss.

Outils temporels
Utiliser maintenant
Afficher 27 outils sur un total de 28 outils disponibles
    Fiche de référence des configurations Nginx - Référence rapide des configurations courantes - IT Tools Collection