Nginx
Nginx è un web server ad alte prestazioni utilizzato in Kuboide per servire applicazioni web, file statici e come reverse proxy. È il web server consigliato per la maggior parte delle applicazioni.
Cos'è Nginx
Nginx (pronunciato "engine-x") è uno dei web server più popolari al mondo, noto per:
- Alte prestazioni con basso consumo di risorse
- Gestione efficiente di connessioni concorrenti
- Reverse proxy per applicazioni PHP, Node.js e altri runtime
- Servire file statici con estrema efficienza
- Bilanciamento del carico tra più backend
Configurazione Base
| Campo | Descrizione |
|---|---|
| Enabled | Attiva o disabilita il servizio Nginx |
| Version | Versione di Nginx da utilizzare |
Configurazione Dominio
| Campo | Descrizione |
|---|---|
| Domain | Il dominio principale dell'applicazione (es. example.com o app.example.com) |
| Root Folder | Percorso della cartella root del sito, relativo a /var/www/html/ (es. public, dist) |
Autenticazione Basic
Puoi proteggere l'accesso al sito con autenticazione HTTP Basic:
| Campo | Descrizione |
|---|---|
| Basic Authentication User Name | Nome utente per l'autenticazione Basic |
| Basic Authentication User Password | Password per l'autenticazione Basic |
Nota: Quando configurati, l'accesso al sito richiederà l'inserimento di username e password.
Configurazione Docker
| Campo | Descrizione |
|---|---|
| CPU Cores Limit | Limite CPU per il container (es. 1, 0.5, 2) |
| Memory Limit (MB) | Limite memoria per il container in MB (es. 256, 512, 1024) |
File di Configurazione
| File | Descrizione |
|---|---|
| nginx.conf | Configurazione principale di Nginx con le direttive globali e le impostazioni del server |
| redirects.conf | Configurazione per redirect personalizzati e regole di rewrite |
| Dockerfile | File Docker per la build personalizzata dell'immagine Nginx |
nginx.conf
Il file nginx.conf contiene la configurazione principale del web server:
- Impostazioni worker e connessioni
- Configurazione del virtual host
- Location blocks per gestire le richieste
- Configurazione FastCGI per PHP
- Proxy pass per Node.js
- Gestione dei file statici
- Headers di sicurezza
redirects.conf
Il file redirects.conf permette di configurare:
- Redirect 301/302 personalizzati
- Regole di rewrite URL
- Redirect da www a non-www (o viceversa)
- Redirect da HTTP a HTTPS
Porte Esposte
| Porta | Protocollo | Descrizione |
|---|---|---|
| 80 | HTTP | Traffico web standard (gestito da Traefik) |
| 443 | HTTPS | Traffico web sicuro (gestito da Traefik) |
Best Practices
- Imposta limiti di risorse appropriati per evitare che il container consumi troppe risorse
- Usa il root folder corretto - per Laravel è
public, per applicazioni statiche potrebbe esseredistobuild - Configura l'autenticazione Basic per ambienti di staging o sviluppo
- Personalizza nginx.conf solo se necessario - la configurazione predefinita è ottimizzata per la maggior parte dei casi