Generatore di Configurazione Nginx
Scrivere configurazioni Nginx da zero significa ricordare ogni proxy_set_header, ogni tipo MIME gzip e la differenza tra try_files $uri/ /index.php?$args e la versione che rompe sottilmente il routing. Questo generatore richiede il dominio, l’upstream, il gestore PHP e i percorsi SSL, quindi restituisce un blocco server con impostazioni predefinite sensate per TLS, HTTP/2, caching statico e compressione.
Come generare il tuo blocco server
-
1
Scegli un preset
Sito statico, PHP-FPM (Laravel, WordPress), reverse proxy Node.js, o un semplice reindirizzamento 301.
-
2
Inserisci il dominio
Includi l'elenco server_name: tipicamente varianti www e non-www.
-
3
Imposta i dettagli SSL
Punta ai tuoi file fullchain e privkey, oppure salta per usare solo HTTP.
-
4
Regola l'upstream
Porta, percorso socket, o URL backend per i casi di proxy_pass.
-
5
Copia e distribuisci
Inserisci l'output in /etc/nginx/sites-available, esegui nginx -t e ricarica.
Come appare un buon blocco server
Un host virtuale Nginx moderno di solito ha questi elementi:
| Sezione | Scopo |
|---|---|
listen 443 ssl http2 |
Accetta HTTPS con HTTP/2 abilitato |
ssl_certificate + ssl_certificate_key |
Punta al materiale TLS |
ssl_protocols TLSv1.2 TLSv1.3 |
Scarta le vecchie versioni TLS |
gzip on + tipi |
Comprime testo/HTML/JSON/JS/CSS al volo |
intestazioni expires per risorse statiche |
Riduci i round trip dai visitatori ripetuti |
try_files |
Inoltra a un controller frontale (PHP, Laravel, ecc.) |
| HSTS + intestazioni di sicurezza | Mantieni il browser onesto riguardo a TLS |
Fondamentali del reverse proxy
Per app Node.js, Python, Ruby che girano dietro Nginx:
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Dimenticare X-Forwarded-For è il modo classico per perdere i veri IP dei client nei log della tua app.
Errori comuni
- Mancanza di fallback
server_name. Nginx usa il primo blocco server come predefinito se nessun nome corrisponde. Metti un blocco catch-allserver_name _che restituisce 444 per evitare attacchi all’host-header. - Ordine errato del certificato. Il file
ssl_certificatedeve essere fullchain (leaf + intermediates), non solo il leaf. - Caching eccessivo. Inviare
expires 1ysu/index.htmlrovinerà i deploy. Versiona gli URL delle risorse invece. - Nessun test prima del ricaricamento. Esegui sempre
nginx -tprima disystemctl reload nginx: un errore di sintassi porta il sito offline.
Domande frequenti
HTTP/2 è stabile e supportato universalmente in Nginx 1.25+. HTTP/3 (QUIC) è disponibile in Nginx 1.25+ come sperimentale. Per una configurazione di produzione nel 2025, abilita HTTP/2 e opzionalmente sovrapponi HTTP/3 con le direttive http3 e quic.
La convenzione è /etc/ssl/certs/ per catene pubbliche e /etc/ssl/private/ per le chiavi. Let’s Encrypt mette tutto sotto /etc/letsencrypt/live/domain/. Usa quello che il tuo strumento di rinnovo si aspetta.
Sì, per la maggior parte dei siti. Aggiungi un blocco server separato sulla porta 80 che restituisce 301 https://$host$request_uri. Combinato con HSTS, il blocco HTTP verrà colpito raramente dopo la prima richiesta.
Esegui sudo nginx -t per analizzare la configurazione senza ricaricare. Se stampa “syntax is ok” e “test is successful,” ricarica con sudo systemctl reload nginx. Non usare mai restart in produzione: il ricaricamento è atomico.
Strumenti correlati
Riferimento Tabella ASCII
Tabella ASCII completa da 0 a 127 con decimale, esadecimale, ottale, binario e riferimento numerico HTML per ogni carattere, inclusi i codici di controllo come NUL, LF e DEL.
Riferimento ai caratteri HTML
Elenco ricercabile delle entità HTML, dei loro codici nominati e numerici, e copia con un clic per caratteri e simboli speciali.
Generatore di lettere casuali
Genera lettere A-Z casuali. Scegli la quantità, usa maiuscole, minuscole o un mix, e applica il risultato a giochi, spunti o attività in classe.
Riferimento scorciatoie da tastiera
Cerca le scorciatoie predefinite documentate di VS Code, Chrome e Bash con GNU Readline su macOS, Windows e Linux.
Creatore di diagrammi di flusso
Crea nel browser diagrammi di flusso visivi con cinque tipi di nodo, connessioni dirette e download SVG o PNG.
Promemoria Markdown
Riferimento pratico Markdown con anteprime reali ed esempi pronti da copiare per titoli, elenchi, tabelle, codice, link, immagini e sintassi GFM.
Strumento disponibile in altre lingue
- Trình tạo cấu hình Nginx [VI]
- Nginx-konfigurationsgenerator [SV]
- Nginx Konfigurationsgenerator [DE]
- Generador de Configuración de Nginx [ES]
- ตัวสร้างไฟล์ config ของ Nginx [TH]
- مولّد إعدادات Nginx [AR]
- Nginx 설정 생성기 [KO]
- Générateur de configuration Nginx [FR]
- Generator Konfigurasi Nginx [ID]
- Nginx-configuratiegenerator [NL]
- Generator konfiguracji Nginx [PL]
- Nginx 設定ジェネレーター [JA]
- Gerador de Configuração Nginx [PT]
- Nginx Config Generator [EN]
- Генератор конфигураций Nginx [RU]
- Nginx Yapılandırma Üreteci [TR]
- Nginx 配置生成器 [ZH]