Installazione e Configurazione di Nginx Proxy Manager (NPM) su Ubuntu Server 24.04

da | Gen 7, 2026

 

 

Gestire più servizi web sullo stesso server può diventare rapidamente complesso: tra configurazioni di reverse proxy, gestione dei certificati SSL, reindirizzamenti e sicurezza, un semplice file di configurazione Nginx può trasformarsi in un labirinto.

Ecco perché Nginx Proxy Manager (NPM) è diventato uno degli strumenti più apprezzati nella community dei sysadmin e degli appassionati di self-hosting.

In questo articolo vedremo come installare e configurare Nginx Proxy Manager passo dopo passo, scoprendo come semplificare la gestione dei tuoi proxy, ottenere certificati SSL automatici con Let’s Encrypt e monitorare i tuoi servizi attraverso una comoda interfaccia web.

 

PREREQUISITI

OS: Ubuntu 24.04

User con permessi sudo

 

AGGIORNAMENTO DEL SISTEMA

Aggiornare il sistema con i seguenti comandi:

 

INSTALLAZIONE DI DOCKER E DOCKER COMPOSE

Installare Docker e Docker Compose con i seguenti comandi:

 

CONFIGURAZIONE ACL DOCKER

Creare il gruppo se non esiste (di solito esiste già) con il comando:

Aggiungere il tuo utente al gruppo con il comando:

Ricaricare i gruppi senza dover fare logout/login con il comando:

Verificare che funzioni senza sudo con il comando:

Quindi uscire e rientrare nella sessione

 

INSTALLAZIONE DI NGINX

Installare Nginx classico e spostarlo su porta 8080

Installare Nginx con il comando:

Modificare il sito di default con il comando:

Cercare le seguenti righe:

e cambiarle in:

Salvare e chiudere il file di configurazione

Controllare la configurazione di Nginx con il comando:

Se è tutto OK dovremmo visualizzare il seguente output:

Ricaricare Nginx con il comando:

Da questo momento Nginx è attivo sulla porta 8080

Verificare con il comando:

Dovremmo visualizzare un output simile al seguente:

 

PREPARAZIONE DI NGINX PROXY MANAGER CON DOCKER

Creare le cartelle per NPM con i seguenti comandi:

Creare il file docker-compose.yml con il comando:

Incollare il seguente output:

Salvare e chiudere il file di configurazione

Avviare NPM con i seguenti comandi:

Se è tutto OK dovremmo vedere un output simile al seguente:

 

ACCESSO A NGINX PROXY MANAGER DA WEB GUI

Da un qualsiasi browser richiamare il link:

http://FQDD-SERVER-O-IP:81

Le credenziali di default sono le seguenti:

FULL NAME: Inserire il nome dell’amministratore
EMAIL ADDRESS: [email protected]
PASSWORD: changeme

Cliccare Save

Cliccare sull’utente in alto a destra quindi selezionare Change Password

Inserire la vecchia password quindi due volte la nuova e cliccare su Save

A questo punto cambiare la mail cliccando su Edit Profile

Modificare la mail quindi cliccare Save

A questo punto è possibile inserire regole all’interno del Reverse Proxy

 

DESCRIZIONE FUNZIONALITA’

Nginx Proxy Manager (NPM) è un’interfaccia web (GUI) che semplifica la gestione di proxy inversi basati su Nginx, con supporto integrato per SSL Let’s Encrypt, redirect, autenticazione e gestione multiutente.

In pratica: ti permette di configurare reverse proxy e certificati HTTPS senza scrivere manualmente file di configurazione Nginx.

⚙️ Funzionalità principali

1. Reverse Proxy con interfaccia web

Configura facilmente proxy verso servizi interni (es. https://plex.miodominio.it → 192.168.1.10:32400)

Supporta:

  • HTTP / HTTPS
  • WebSocket
  • Headers personalizzati
  • Reindirizzamenti 301 / 302
  • Access list (ACL) con autenticazione HTTP base

Ideale per gestire più servizi self-hosted dietro un unico IP pubblico o server.

 

2. Gestione automatica dei certificati SSL (Let’s Encrypt)

Certificati automatici gratuiti e rinnovati automaticamente da Let’s Encrypt.

Supporta:

  • Certificati “Single domain”, “Wildcard” (via DNS challenge)
  • Importazione manuale di certificati personalizzati (.pem / .key)
  • Notifiche sullo stato dei certificati.

Pro: tutto automatizzato.
Contro: wildcard DNS richiede API key del provider DNS (alcuni provider non supportati).

 

3. Redirect e Stream Proxy

Puoi creare redirect semplici (HTTP → HTTPS, dominio → dominio).

Supporta anche TCP/UDP Stream Proxy (utile per servizi non HTTP, come SSH, MQTT o database).

 

4. Autenticazione e Access Control

Autenticazione Basic Auth nativa (user/pass)

Liste di accesso:

  • Allow list e Deny list per IP
  • Autenticazione integrata per singoli proxy host

In combinazione con Nginx puoi anche configurare (manualmente via Custom Nginx Config) autenticazione avanzata, come OAuth2, SSO, ecc.

 

5. Gestione utenti e ruoli

Utenti multipli con ruoli:

  • Admin: pieno controllo
  • Manager: gestione proxy, ma non configurazione del sistema
  • Viewer: sola lettura

 

6. DNS Challenge / Integrazione con provider DNS

Supporto per DNS Challenge (per ottenere certificati wildcard)

Integrazione con diversi provider (Cloudflare, DuckDNS, DigitalOcean, ecc.)

 

7. Configurazioni personalizzate

Ogni proxy host può avere:

  • Custom Nginx configuration snippets (prima o dopo il blocco location)
  • Header personalizzati
  • Regole di caching e buffering
  • Proxy buffering / timeouts personalizzati

 

8. Statistiche e log

Visualizza log di accesso e di errore di Nginx tramite GUI.

Supporta download dei log e monitoraggio dello stato dei proxy host.

 

9. Aggiornamenti e backup

Backup e restore delle configurazioni (data/ directory).

Aggiornamenti automatici se gestito con Docker (semplice docker compose pull && up -d).

 

Pro — Vantaggi

Facilità d’uso: GUI intuitiva, anche per chi non conosce Nginx.
Certificati SSL automatici: Let’s Encrypt integrato con rinnovo automatico.
Gestione multi-host: Ideale per ambienti con molti servizi web.
Multiutente e ruoli: Accesso controllato da più amministratori.
Compatibile con Docker: Facile da distribuire e mantenere.
Supporta WebSocket e streaming: Perfetto per app moderne (Home Assistant, Nextcloud, ecc.)
Log integrati: Monitoraggio semplificato dei proxy host.

 

Contro — Limitazioni e svantaggi

Limitato rispetto a Nginx “puro”: Alcune configurazioni avanzate (load balancing complesso, rewrite dinamici, cache layer) richiedono modifiche manuali nei file Nginx.
Prestazioni leggermente inferiori: Leggero overhead rispetto a un Nginx configurato manualmente.
Non ideale per ambienti enterprise complessi: Mancano funzioni di HA nativa, clustering, API ufficiali per automazione.
Database SQLite: Non scalabile per ambienti multi-server. (ma si può migrare a MySQL manualmente)
Aggiornamenti manuali (Docker): Non si aggiorna automaticamente senza un orchestratore.
DNS Challenge limitato: Non tutti i provider DNS supportati nativamente.

Quando usarlo

Ideale per:

  • Ambienti home lab o piccoli server
  • Piccole aziende e sviluppatori
  • Gestione centralizzata di più servizi (Nextcloud, Vaultwarden, Jellyfin, ecc.)
  • Chi vuole HTTPS senza dover gestire manualmente Nginx o Certbot

Sconsigliato per:

  • Infrastrutture enterprise / HA / Kubernetes
  • Applicazioni ad alta scala o con requisiti di tuning Nginx complesso
  • Automazioni CI/CD avanzate (non ha API REST pubblica stabile)

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D’Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi. Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare. Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione