Come configurare l'accesso a un ambiente containerizzato utilizzando Nginx Proxy Manager su Linux | INTROSERV
EUR
european

EUR

usa

USD

Italy It
Ex. VAT Ex. VAT 0%

Come configurare l'accesso a un ambiente containerizzato utilizzando Nginx Proxy Manager su Linux

Introduzione

In questo tutorial, configurerai un accesso sicuro e user-friendly ai servizi containerizzati utilizzando Nginx Proxy Manager. Questo approccio semplifica la gestione del reverse proxy tramite un'interfaccia web invece della configurazione manuale. Installerai Nginx Proxy Manager con Docker, lo configurerai ed esporrai un servizio containerizzato tramite un dominio.

Prerequisiti

Pubblico target: Amministratori di sistema principianti
Tempo stimato: ~30 minuti
Obiettivo finale: Alla fine di questo tutorial, avrai una configurazione funzionante di Nginx Proxy Manager che instrada il traffico esterno a un'applicazione containerizzata.

Requisiti di sistema:

  • OS: Distribuzione Linux compatibile con Docker
  • Docker: 24.0.6 o successivo
  • Docker Compose: v2
  • Minimo 1 GB di RAM e 10 GB di spazio su disco
  • Un nome di dominio che punta all'IP del tuo server
  • Porte aperte: 80, 81, 443
  • Privilegi sudo

Conoscenze richieste:

  • Uso base della riga di comando di Linux
  • Comprensione base dei container Docker

Passo 1: Comprendere Nginx Proxy Manager

Nginx Proxy Manager è uno strumento basato sul web che gestisce le configurazioni del reverse proxy Nginx. Ti consente di instradare il traffico verso diversi servizi utilizzando nomi di dominio, abilitare certificati SSL e gestire le regole di accesso senza modificare manualmente i file di configurazione.

Caratteristiche principali:

  • Interfaccia web per la gestione del proxy
  • SSL automatico tramite Let's Encrypt
  • Controllo degli accessi e autenticazione
  • Facile integrazione con ambienti Docker

Risultato: Comprendi come Nginx Proxy Manager semplifica l'esposizione dei servizi containerizzati.

Passo 2: Installare Docker e Docker Compose

Installa Docker utilizzando un semplice comando:

curl -sSL https://get.docker.com/ | CHANNEL=stable bash

Verifica l'installazione di Docker:

docker --version

Verifica Docker Compose:

docker compose version

Risultato: Docker e Docker Compose sono installati e pronti all'uso.

Passo 3: Configurare Nginx Proxy Manager

Crea una directory di progetto:

mkdir ~/npm && cd ~/npm

Crea un file di configurazione:

nano docker-compose.yml

Inserisci il contenuto della configurazione:

version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

Salva il file ed esci.

Avvia il servizio:

docker compose up -d

Risultato: Il container di Nginx Proxy Manager è in esecuzione e in ascolto sulle porte richieste.

Passo 4: Accedere all'Interfaccia Web

Schermata di login di Nginx Proxy Manager

Apri il tuo browser e vai a: http://<YOUR_IP_ADDRESS>:81

Credenziali di accesso predefinite:

Aggiorna le tue credenziali quando richiesto.

Risultato: Puoi accedere e gestire Nginx Proxy Manager tramite l'interfaccia web.

Passo 5: Distribuire un Container di Test

Esegui un container web di test:

docker run -d --name test-app -p 8080:80 nginx

Verifica l'accesso aprendo: http://<YOUR_IP_ADDRESS>:8080

Risultato: Un container di test è in esecuzione ed è accessibile localmente.

Passo 6: Creare un Proxy Host

Dialogo Aggiungi Proxy Host in Nginx Proxy Manager

Nell'interfaccia di Nginx Proxy Manager:

  • Clicca su "Proxy Hosts"
  • Clicca su "Add Proxy Host"
  • Inserisci il dominio: <YOUR_DOMAIN>
  • Hostname o IP di inoltro: localhost
  • Porta di inoltro: 8080
  • Abilita "Block Common Exploits"
  • Salva la configurazione

Risultato: Il traffico dal tuo dominio è instradato al container.

Passo 7: Abilitare SSL

Scheda di configurazione SSL in Nginx Proxy Manager

Modifica il proxy host:

  • Apri la scheda SSL
  • Seleziona Request a new SSL Certificate
  • Abilita Force SSL
  • Abilita HTTP/2 Support
  • Inserisci la tua email e accetta i termini
  • Salva le modifiche

Info

SSL richiede record DNS corretti che puntano il tuo dominio al tuo server.

Risultato: HTTPS è abilitato e protetto con un certificato valido.

Verifica

Apri il tuo dominio: https://<YOUR_DOMAIN>

Risultati attesi:

  • La pagina di test di Nginx si carica
  • Il browser mostra un certificato SSL valido
  • Non appaiono avvisi di sicurezza

Controlla i container in esecuzione:

docker ps

Risultato: Il reverse proxy funziona correttamente e instrada il traffico in modo sicuro.

Ripristino delle Modifiche

Ferma i servizi:

docker compose down

Rimuovi il container di test:

docker rm -f test-app

Elimina i file di progetto:

rm -rf ~/npm

Info

Importante: Questo rimuove tutte le configurazioni e i certificati SSL.

Risultato: Tutte le modifiche sono annullate e il sistema è pulito.

Risoluzione dei Problemi

Problema: Impossibile accedere all'interfaccia web
Soluzione: Assicurati che la porta 81 sia aperta e non utilizzata da un altro servizio

Problema: La generazione del certificato SSL fallisce
Soluzione: Verifica che la configurazione DNS punti al tuo server

Problema: Il proxy host non funziona
Soluzione: Controlla lo stato del container con docker ps e i log con docker logs <CONTAINER_ID>

Risultato: I problemi comuni sono identificati e risolti.

Conclusione e Prossimi Passi

Hai installato e configurato Nginx Proxy Manager utilizzando Docker ed esposto un servizio containerizzato con un dominio e SSL. Questa configurazione offre un modo semplice e scalabile per gestire più servizi.

Prossimi passi:

  • Aggiungi servizi aggiuntivi dietro diversi domini
  • Configura liste di controllo degli accessi
  • Esplora impostazioni avanzate di proxy e sicurezza

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA