Salta al contenuto principale

Tipo di Configurazione

Impostazioni Server

Usa _ per catch-all. Separa nomi multipli con spazi.
Default: 80 per HTTP, 443 per HTTPS.

Server Upstream

Header Proxy

nginx.conf31 righe

# Generated by Nginx Config Generator - federicocalo.dev
# 2026-08-04T11:50:02.182Z

upstream backend {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name example.com;

    # Gzip compression
    gzip on;
    gzip_min_length 1024;
    gzip_types text/plain text/css application/json application/javascript text/html;
    gzip_vary on;
    gzip_comp_level 6;

    # Security headers
    add_header X-Frame-Options "DENY" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Content-Security-Policy "default-src 'self'" always;

    location / {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }
}

Guida Rapida

Corrispondenza location
= /uri - esatto | ~* \.ext$ - regex | /prefix - prefisso
Buffering del proxy
proxy_buffering on + proxy_buffer_size
WebSocket
Aggiungi gli header proxy Upgrade + Connection
Let's Encrypt
Usa certbot: certbot --nginx -d example.com
Testa la configurazione
nginx -t poi nginx -s reload
Formato dei log
access_log /var/log/nginx/access.log combined;

Come utilizzare Generatore Config Nginx

Scegli il tipo di configurazione

Seleziona una delle 5 modalità: Reverse Proxy, File Statici, Load Balancer, SSL/HTTPS o SPA (Single Page App). La sezione dei campi disponibili cambia in base alla modalità scelta.

Compila i campi server (nome, porta, upstream)

Imposta server_name e listen port; per reverse proxy, load balancer e SSL/HTTPS aggiungi uno o più server upstream con indirizzo e peso, e scegli il metodo di bilanciamento (round robin, least_conn, ip_hash).

Attiva le opzioni avanzate

Abilita gzip, rate limiting (limit_req_zone), caching (proxy_cache) e security header (X-Frame-Options, CSP, HSTS) secondo le tue esigenze: ogni opzione genera i blocchi nginx corrispondenti solo se attivata.

Copia o scarica il file nginx.conf generato

L'anteprima si aggiorna in tempo reale mentre modifichi i campi. Usa i pulsanti Copia o Scarica per ottenere il file nginx.conf pronto da installare sul server.

Suggerimenti

  • Per applicazioni Angular/React con routing lato client usa sempre la modalità SPA: la modalità File Statici genererebbe 404 su refresh delle route interne.
  • Attiva sempre l'header Upgrade/Connection tra i proxy header quando il backend usa WebSocket, altrimenti la connessione verrà rifiutata dal reverse proxy.
  • Testa sempre la configurazione con nginx -t prima di ricaricare il servizio in produzione: un errore di sintassi con nginx -s reload può interrompere il servizio.

Domande frequenti

Quali tipi di configurazione posso generare?

Il tool genera 5 tipi di configurazione: Reverse Proxy (inoltra le richieste a un backend), File Statici (serve una directory), Load Balancer (distribuisce il traffico su più backend con round robin, least_conn o ip_hash), SSL/HTTPS (certificato SSL con redirect automatico da HTTP) e SPA (fallback su index.html con caching aggressivo degli asset statici).

Come funziona il rate limiting generato dal tool?

Quando abiliti il rate limiting, il tool genera una direttiva limit_req_zone globale basata su $binary_remote_addr con la zona, la dimensione (10m) e la velocità in richieste al secondo che imposti, più una direttiva limit_req nel blocco location con il burst configurato e nodelay.

Il certificato SSL viene generato dal tool?

No, il tool genera solo la configurazione nginx che referenzia i percorsi ssl_certificate e ssl_certificate_key che inserisci (es. quelli prodotti da Let's Encrypt/certbot). Non genera né valida certificati reali: devi ottenerli separatamente, ad esempio con certbot --nginx -d example.com.

Che differenza c'è tra la configurazione "File Statici" e "SPA"?

"File Statici" usa try_files $uri $uri/ =404, adatto a siti multi-pagina classici. "SPA" usa try_files $uri $uri/ /index.html per il fallback su tutte le route lato client (routing Angular/React/Vue), più un blocco dedicato di cache aggressiva (1 anno) per asset con estensione js/css/font/immagine.

La configurazione generata è pronta per la produzione senza modifiche?

La configurazione è sintatticamente valida e segue best practice comuni, ma vanno sempre personalizzati i percorsi reali (certificati, root path) e testata con nginx -t prima del reload (nginx -s reload). Verifica anche che i valori di security header e CSP siano coerenti con la tua applicazione specifica.