Come impostare e utilizzare efficacemente Nginx Proxy Manager

Commenti: 0

Nell'ambito dello sviluppo web e dell'amministrazione dei sistemi moderni, la configurazione di Nginx Proxy Manager è indispensabile. Facilita l'emissione automatica di certificati SSL e la configurazione di server intermediari inversi tramite un'interfaccia facile da usare, alleggerendo così il peso di sistemi di configurazione complessi. Questo dà un vantaggio agli sviluppatori web di qualsiasi grado di anzianità. Vediamo innanzitutto cosa comporta NPM, come si differenzia dal proxy Nginx standard e quali problemi risolve.

Che cos'è Nginx Proxy Manager?

Per sfruttare al meglio questo strumento, è importante chiarire innanzitutto le differenze tra l'originale Nginx, con cui viene spesso confuso, e il concetto di reverse proxy.

Un sistema basato sul cloud proxy inverso Il server facilita una miriade di funzioni critiche, tra cui il filtraggio del traffico, il bilanciamento del carico e l'occultamento al cliente del funzionamento effettivo dei server interni. Ciò migliora la sicurezza esterna, l'affidabilità interna e le prestazioni complessive. In parole povere, i reverse proxy sono soluzioni lato server, a differenza dei forward proxy che operano lato client.

Serve come software per un proxy server di tipo reverse e di posta, un bilanciatore di carico e una cache HTTP. Nginx Proxy Manager è un'applicazione costruita a partire dal codice sorgente originale di Nginx. Agisce come un ulteriore livello di gestione che amministra le funzioni inverse.

Differenze tra Nginx Proxy Manager e Nginx

Oltre all'architettura e ai principi di progettazione condivisi, Proxy Manager si differenzia da Nginx standard per diversi aspetti importanti. Le differenze sono raccolte in questa tabella di confronto riassunta di seguito.

Caratteristica Gestore di proxy Nginx
Interfaccia di gestione Offre un'interfaccia grafica visiva che semplifica la configurazione dei server intermedi. Gestito tramite CLI utilizzando direttive come proxy_pass, che richiedono competenze tecniche più approfondite.
Gestione SSL Il caricamento e il rinnovo del certificato SSL è automatizzato Richiede l'intervento manuale di un amministratore di sistema
Accesso alla configurazione Limitato Accesso completo tramite terminale
Aggiornamenti Irregolare Aggiornamenti regolari e forte supporto della comunità
Funzionalità Alcune funzioni sono disponibili solo in build specifiche Strumenti integrati adatti a implementazioni complesse e personalizzate
Scalability Limitato per infrastrutture complesse e su larga scala Più adatto ad ambienti aziendali scalabili e a sistemi con carichi elevati

Funzionalità del gestore proxy di Nginx

Prima di configurare il proxying in questo strumento, è meglio esaminare le sue capacità funzionali. Le caratteristiche principali includono:

  • La configurazione dei server intermedi avviene attraverso un'interfaccia appropriata e senza la necessità di noiose modifiche ai file di configurazione, rendendo il tutto più semplice.
  • La configurazione semplificata dei reverse proxy aiuta i nuovi arrivati a configurare il sistema più velocemente.
  • L'automazione efficiente di Let's Encrypt consente agli utenti di monitorare e rinnovare automaticamente i certificati SSL.
  • I registri e le varie statistiche dei server intermedi possono essere visualizzati direttamente attraverso l'interfaccia utente.
  • Diretto, controllando fino all'ultimo dettaglio la presenza o meno di reindirizzamenti, la manipolazione dei nomi di dominio, la gestione delle richieste HTTP;
  • L'interruzione dell'accesso a determinate risorse web attraverso l'uso dei permessi aumenta la sicurezza delle risorse web.

Chiaramente, lo strumento non solo aiuta a configurare il reverse proxy in Nginx, ma consente anche all'amministratore di limitare l'accesso alle risorse web in modo sicuro.

Casi d'uso esemplificativi per Nginx Proxy Manager

La gestione centralizzata di varie applicazioni è un esempio funzionale chiave. Questa soluzione software offre un unico cruscotto di controllo da cui un amministratore può gestire:

  • tutti i domini;
  • certificati di sicurezza;
  • impostazioni del server intermedio inverso.

Ad esempio, un amministratore di sistema ha la possibilità di aggiungere nuovi siti, configurare HTTPS, impostare i reindirizzamenti e controllare l'accesso attraverso un'interfaccia di gestione centrale. In ambienti di test, questa gestione centralizzata può essere utile anche per verificare come siti e servizi si comportano quando vengono controllati insieme a un Proxy USA. L'uso di un'interfaccia di gestione unificata riduce le possibilità di errore e di interruzione del servizio che la modifica manuale dei file di configurazione comporta.

Inoltre, l'impostazione di Nginx Proxy Manager può migliorare la sicurezza delle risorse e dei server cloud proteggendoli attraverso alcune delle sue funzionalità incorporate, quali:

  • crittografia del traffico tra l'utente e il server;
  • filtraggio per indirizzo IP;
  • impostazioni per le restrizioni di nome utente/password su pagine o directory;
  • reverse proxying per schermare l'IP del server reale.

Consideriamo un'azienda con applicazioni web (un sito WordPress, un'API REST, un pannello di controllo) ospitate su un VPS cloud. Se tra i compiti di verifica rientrano anche i controlli da reti cellulari, in alcuni casi l'infrastruttura può essere testata affiancando un mobile proxy. Per difendere queste app dalle minacce esterne e nascondere la struttura interna, un ingegnere DevOps configura lo strumento come descritto sopra.

Requisiti per l'installazione

Ogni sistema operativo è compatibile con questo strumento. Per installarlo e farlo funzionare, si consigliano le seguenti configurazioni hardware:

  • Almeno 1 GB di RAM;
  • Una CPU a 4 core o superiore;
  • Almeno 15 GB di spazio libero su disco.

Inoltre, è necessario disporre delle credenziali di amministratore. Se si accede come ospite, è necessario riavviare con questi diritti elevati o ottenerli dal proprietario del PC.

Processo di installazione: Esercitazione sul gestore di proxy Nginx

  1. Visitare il sito ufficiale dello sviluppatore. Come primo passo si consiglia di scaricare e installare Docker insieme a Docker-Compose. Entrambi i pacchetti devono essere salvati sul computer.

    1en.png

  2. Aprite il terminale e digitate il seguente comando dopo che tutto è stato scaricato:
    
    sudo apt install docker.io -y
    
  3. Ora digitate questo comando per installare Docker-Compose:
    
    sudo apt install docker-compose -y
    
  4. Utilizzare il seguente comando per verificare l'avvenuta installazione:
    
    docker --version
    docker-compose --version
    
  5. Digitare questo per creare una cartella che conterrà lo strumento. In Windows, la nuova cartella può essere creata facendo clic con il pulsante destro del mouse, in Linux:
    
    mkdir ~/npm && cd ~/npm
    
  6. All'interno di questa directory digitare i comandi per creare il file docker-compose.yml. Per Windows, fare clic con il pulsante destro del mouse > Nuovo > scegliere Blocco note, quindi assegnare un nome al file:

    2en.png

  7. Utilizzo di Linux/Ubuntu:
    
    nano docker-compose.yml
    
  8. Per entrambe le opzioni, includere i seguenti dati:
    
    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
    
  9. Salvare il file e avviare il contenitore:
    
    docker-compose up -d
    
  10. Avviare il browser Web preferito e digitare l'indirizzo del server con la porta configurata. In questo esempio, abbiamo utilizzato la porta 81:
    
    https://IP-address:port
    
  11. Quando il sito è attivo, dovrebbe apparire la schermata di accesso. Per accedere, utilizzare le credenziali predefinite del sito dello sviluppatore:
    
    Email: admin@example.com
    Password: changeme
    
  12. Il sistema chiederà di modificarli dopo il primo tentativo di accesso.

    3en.png

Ecco, l'installazione è stata completata con successo.

Come utilizzare correttamente Nginx Proxy Manager

La configurazione prevede tre fasi principali:

  • Configurazione del gestore del reverse proxy di Nginx;
  • Installazione del certificato SSL;
  • Impostazione dell'autorizzazione.

Consideriamo come questo possa essere implementato passo dopo passo.

Configurazione di un host proxy

Spostarsi nella sezione "Host proxy" e selezionare "Aggiungi host proxy". Verrà visualizzata una finestra di dialogo con queste voci:

  • Forward Hostname/IP - nome interno (ad esempio, 82.211.7.97) o indirizzo IP.
  • Porta di inoltro - 80, 50100 o qualsiasi altra porta di inoltro del traffico.
  • Nomi di dominio - dominio attivo o inattivo (di prova), ad esempio test.domain.com.
  • Schema - HTTP o HTTPS, determinato dal tipo di connessione del server interno.
  • Blocca gli exploit più comuni - protegge dalle vulnerabilità più comuni, se selezionato.
  • Supporto Websockets - selezionare questa casella se il servizio funziona con WebSockets.

4en.png

Configurazione di un certificato SSL

Nella stessa finestra, spostatevi nella sezione "SSL". Selezionate "Richiedi un nuovo certificato SSL" e attivate le seguenti opzioni:

  • Forza SSL - impone l'HTTPS per tutte le connessioni.
  • Supporto HTTP/2 - opzionale, per migliorare le prestazioni.
  • Accettare i Termini di servizio di Let's Encrypt - obbligatorio per ottenere il certificato SSL gratuito.

Fare clic su "Salva". Il certificato verrà richiesto e installato automaticamente.

5en.png

Autorizzazione

Per creare un nuovo elenco di accessi in Nginx Proxy Manager, andare alla sezione "Dettagli". Assegnare un nome come "utenti". Si noti l'impostazione "Soddisfa qualsiasi": se non è selezionata, gli utenti devono soddisfare tutte le condizioni di accesso (autenticazione e corrispondenza IP), il che è più sicuro.

6en.png

Nella sezione "Autorizzazione", specificare quali utenti devono avere accesso e per ogni utente impostare un nome utente e una password: si tratta dell'autenticazione HTTP di base per accedere al sito.

7en.png

Nella scheda "Accesso", inserire gli indirizzi IP a cui consentire o bloccare l'accesso. In questo modo, l'accesso si basa sui criteri della rete aziendale.

8en.png

Una volta creato l'elenco di accesso, tornare alle impostazioni dell'host di destinazione e applicare l'elenco di accesso appena creato nel campo "Elenco di accesso". Da questo momento in poi, l'autenticazione dell'utente sarà richiesta in relazione al sito e l'accesso sarà concesso solo se tutte le condizioni sono soddisfatte.

Conclusione

Esaminando questa guida su Nginx Proxy Manager, è evidente che si tratta di uno strumento multifunzionale per impostare reverse proxy, gestire la sicurezza SSL e controllare l'accesso alle risorse cloud. È particolarmente utile per gli sviluppatori e gli amministratori di sistema che necessitano di un controllo centralizzato e sicuro di decine di siti web e servizi, ma anche per uso personale, come la distribuzione di un server domestico (NAS) o la fornitura di un accesso remoto sicuro a una rete locale. In progetti che richiedono verifiche locali o configurazioni orientate al mercato nazionale, questo approccio può essere affiancato anche dall'uso di un Proxy Italia.

I vantaggi principali di questo gestore sono l'ampia compatibilità con tutti i sistemi operativi, la gestione semplificata che non richiede l'interazione con la riga di comando e la rapida configurazione di proxy e SSL, che sono alcuni dei suoi principali vantaggi.

Commenti:

0 Commenti