Nginx

Come usare Nginx Proxy Manager

Come usare Nginx Proxy Manager
Nginx è un popolare server Web e proxy inverso utilizzato per instradare il traffico e reindirizzarlo a un altro server. Configurare Nginx come proxy inverso può richiedere molto tempo ed essere soggetto a errori e configurazioni errate. Questa guida ti mostrerà come impostare e utilizzare il gestore proxy Nginx per una gestione e configurazione più semplice. Prima di immergerci nel tutorial, ci sono alcuni prerequisiti. Avrai bisogno:

  1. Un server Linux
  2. Docker e Docker compongono installati sul server
  3. Root o utente con permessi sudo

Se hai tutto questo, tuffiamoci dentro.

Che cos'è il gestore proxy Nginx??

Il gestore proxy Nginx (NPM) è un sistema di gestione del proxy inverso in esecuzione su Docker. NPM è basato su un server Nginx e fornisce agli utenti un'interfaccia web pulita, efficiente e bella per una gestione più semplice. Lo strumento è facile da configurare e non richiede agli utenti di sapere come lavorare con server Nginx o certificati SSL. NPM è uno strumento open source gestito da sviluppatori di tutto il mondo. È adatto per ambienti server di piccole dimensioni e ambienti di laboratorio privati. Questo tutorial si concentrerà sul mostrarti come distribuire il gestore proxy Nginx:

Installazione di Docker e SQLite

Nginx Proxy manager funziona come un container docker; quindi, richiede Docker e docker-compose installati sul server. Per semplicità, illustrerò solo come installare Docker su Ubuntu. Si prega di fare riferimento alla documentazione di Docker per riferimento su come configurarlo su altri sistemi. Per installare Docker su Ubuntu, inizia rimuovendo le vecchie installazioni Docker. Salta questo se nessuno è disponibile.

sudo apt-get remove docker docker-engine docker.io containerd runc

Successivamente, installa il repository e tutte le dipendenze usando i comandi:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

Aggiungi la chiave GPG del repository Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Quindi, aggiungi il repository stabile usando il comando echo come:

echo "deb [arch=amd64 firmato-da=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu\
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.elenco.d/docker.lista > /dev/null

Infine, aggiorna i repository e installa docker usando i comandi:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Ora esegui docker e abilita all'avvio:

sudo systemctl abilita la finestra mobile.servizio
sudo systemctl start docker.servizio
sudo systemctl enable containerd.servizio

Installa SQLite

Il prossimo passo è installare il database SQLite che useremo per eseguire NPM. È bene notare che puoi usare anche il database MySQL.

Distribuisci NPM su Docker

Per distribuire Nginx Proxy Manager, dobbiamo creare un file di composizione docker per eseguire Docker e inizializzare il contenitore. Per saperne di più sul file di composizione Docker e su come funziona, considera le risorse collegate qui. Consiglio vivamente di creare il file docker-compose in una directory in cui disponi dei permessi completi.

nano docker-comporre.igname

Quindi, aggiungi le seguenti righe al file di composizione, salva e chiudi.

versione: "3"
Servizi:
app:
immagine: 'jc21/nginx-proxy-manager:latest'
riavvia: sempre
porti:
# porta HTTP
- '80:80'
# Porta HTTPS:
- '443:443'
# Interfaccia utente di amministrazione
- '81:81'
ambiente:
DB_SQLITE_FILE: "/data/npm.sqlite"
volumi:
- ./dati:/dati
- ./letsencrypt:/etc/letsencrypt

Infine, esegui il comando docker-compose come:

docker-compose up -d

Questo distribuirà lo stack dall'immagine NPM specificata nel file docker-compose. Risultato della creazione:

Creazione della rete "debian_default" con il driver predefinito
Pulling app (jc21/nginx-proxy-manager:latest)…
più recente: estrazione da jc21/nginx-proxy-manager
801bfaa63ef2: Pull completo
7927cd3bbe4c: Pull completo
f53b85628da5: Pull completo
e834c30791f9: Estrazione completata
6b68b3708dd5: Pull completo
963fe519b5fd: Pull completo
37e54d057f10: Pull completato
-------------------------------------
Riassunto: sha256:b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Stato: scaricata immagine più recente per jc21/nginx-proxy-manager: più recente
Creazione debian_app_1… fatto

Accesso all'interfaccia utente di NPM

Una volta creato ed eseguito, puoi accedere all'interfaccia utilizzando l'indirizzo IP e la porta specificati nel file docker-compose. In questo caso, porta 81.

http://IP:81

Sarebbe meglio se arrivassi all'interfaccia utente di accesso a NPM. Inserisci il nome utente e la password come:

[email protected] e changeme, rispettivamente.

Al primo accesso, dovrai aggiornare i dettagli dell'amministratore.

Una volta aggiornati tutti i dettagli dell'utente, si accederà alla dashboard principale da cui è possibile configurare i propri host proxy:

Lavorare con NPM

Dopo aver installato e assicurato che il gestore proxy sia in esecuzione, possiamo aggiungere un host proxy per esporre un servizio in esecuzione sul server. Passare a Host - Host proxy e fare clic su Aggiungi host proxy.

Seleziona lo schema come HTTP o HTTPS. Se il servizio che desideri esporre non supporta il traffico HTTPS, mantieni HTTP. Quindi, aggiungi i nomi di dominio, il nome host di inoltro e l'IP. Puoi anche selezionare Blocca exploit comuni per una maggiore sicurezza.

Dopo aver esposto il servizio, prova ad accedervi utilizzando il nome host o l'IP e la porta specificati. Questo servizio dovrebbe essere accessibile. Puoi anche gestire il proxy nell'elenco degli host proxy.

Elenco di accesso NPM

In alcuni casi, potrebbe essere necessario esporre un'applicazione o un servizio nell'elenco dei proxy NPM a indirizzi IP specifici. Per configurarlo, puoi utilizzare l'elenco di accesso NPM.

Passare all'elenco di accesso e fare clic su Aggiungi elenco proxy. Qui, dai loro un nome a un elenco di accesso; puoi anche selezionare Soddisfa qualsiasi.

Nella scheda di autorizzazione, imposta i nomi utente e le password che utilizzerai per accedere al servizio.

Passare alla scheda Accesso e aggiungere gli indirizzi IP da cui si desidera consentire le connessioni e negare tutti gli altri.

Per allegare l'elenco di accesso a un'applicazione Web specifica, vai a Host - Host proxy e seleziona il tuo host. Fare clic su Modifica e impostare l'elenco di accesso come definito sopra.

Fornitura di certificati SSL

NPM ti consente anche di fornire certificati SSL su vari nomi di dominio. Prima di aggiungere un nome di dominio alla fornitura SSL, assicurati che il dominio punti al server proxy NPM.

Passa a Certificati SSL e fai clic su Aggiungi certificato SSL. Fornisci i nomi di dominio e l'indirizzo email per Let's Encrypt. Infine, accetta i termini di servizio e risparmia. Puoi anche aggiungere una sfida DNS, ma non la tratterò in questo tutorial.

Questo creerà un nuovo certificato SSL affidabile.

Personalizza la home page

Puoi anche personalizzare la pagina Web predefinita per il server NPM. Fare clic su Impostazioni - Sito predefinito e selezionare Modifica. Puoi scegliere di mostrare un ERRORE 404, Reindirizza a un nuovo indirizzo o Crea una pagina personalizzata.

Ad esempio, di seguito è riportato un codice HTML per mostrare 403 Proibito.







403 - Proibito


FONTE: CodePen https://codepen.io/blecaf/pen/NLoEPY

Conclusione

Questo tutorial ha esaminato l'installazione e la distribuzione del gestore proxy Nginx su un server Ubuntu che esegue Docker. Abbiamo quindi spiegato come configurare NPM e aggiungere host al gestore proxy.

Ricorda: la sperimentazione coerente è la chiave per la padronanza, quindi sperimenta lontano!

Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...
Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...