Hvordan bruke Nginx Proxy Manager

Hvordan bruke Nginx Proxy Manager
Nginx er en populær webserver og omvendt proxy som brukes til å rute trafikk og omdirigere den til en annen server. Å sette opp Nginx som en omvendt proxy kan være tidkrevende og utsatt for feil og feilkonfigurasjoner. Denne guiden vil vise deg hvordan du konfigurerer og bruker Nginx Proxy Manager for lettere styring og konfigurasjon. Før du dykker ned i opplæringen, er det noen forutsetninger. Du vil trenge:
  1. En Linux -server
  2. Docker og Docker komponerer installert på serveren
  3. Rot eller bruker med sudo -tillatelser

Hvis du har alt dette, la oss dykke inn.

Hva er Nginx Proxy Manager?

Nginx Proxy Manager (NPM) er et omvendt fullmaktsstyringssystem som kjører på Docker. NPM er basert på en Nginx -server og gir brukerne et rent, effektivt og vakkert nettgrensesnitt for enklere styring. Verktøyet er enkelt å konfigurere og krever ikke at brukere vet hvordan de skal jobbe med Nginx -servere eller SSL -sertifikater. NPM er et åpen kildekodeverktøy vedlikeholdt av utviklere fra hele verden. Det er godt egnet for små servermiljøer og private labmiljøer. Denne opplæringen vil fokusere på å vise deg hvordan du distribuerer Nginx Proxy Manager:

Installere Docker og SQLite

Nginx Proxy Manager kjører som en Docker -beholder; Dermed krever det Docker og Docker-Compose installert på serveren. For enkelhets skyld vil jeg bare illustrere hvordan jeg installerer Docker på Ubuntu. Se Docker -dokumentasjonen for referanse om hvordan du konfigurerer den på andre systemer. For å installere Docker på Ubuntu, start med å fjerne gamle Docker -installasjoner. Hopp over dette hvis ingen er tilgjengelig.

sudo apt-get fjerne docker docker-motor docker.io containerd runc

Deretter installerer du depotet og alle avhengigheter ved å bruke kommandoene:

sudo apt-get oppdatering
sudo apt-get installer apt-transport-https ca-certificates curl gnupg lsb-release -y

Legg til Docker Repository GPG -tasten:

Curl -fssl https: // Last ned.Docker.com/linux/ubuntu/gpg | Sudo GPG-Dearmor -o/usr/share/nøkkelringer/docker-archive-keyring.GPG

Deretter legger du til det stabile depotet ved å bruke Echo -kommandoen som:

Echo "Deb [Arch = AMD64 Signed-by =/usr/share/nøkkelring/docker-archive-keyring.gpg] https: // nedlasting.Docker.com/linux/ubuntu \
$ (lsb_release -cs) stabil "| sudo tee/etc/apt/kilder.liste.D/Docker.Liste> /dev /null

Til slutt, oppdater depotene og installer Docker ved hjelp av kommandoene:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.IO Docker -Compose -y

Kjør nå Docker og aktiver ved oppstart:

sudo systemctl aktiver docker.service
sudo systemctl start docker.service
sudo systemctl aktiver containerd.service

Installer SQLite

Neste trinn er å installere SQLite -databasen som vi skal bruke for å kjøre NPM. Det er godt å merke seg at du også kan bruke MySQL -databasen.

Distribuere npm på Docker

For å distribuere Nginx Proxy Manager, må vi opprette en Docker-Compose-fil for å kjøre Docker og initialisere beholderen. For å lære mer om Docker -komponeringsfilen og hvordan den fungerer, bør du vurdere ressursene som er koblet her. Jeg anbefaler at du oppretter Docker-Compose-filen i en katalog du har full tillatelser.

Nano Docker-Compose.Yaml

Deretter legger du til følgende linjer i komponeringsfilen, lagre og lukk.

versjon: "3"
tjenester:
app:
Bilde: 'JC21/nginx-proxy-manager: siste'
Start på nytt: Alltid
Porter:
# HTTP -port
- '80: 80 '
# Https port:
- '443: 443'
# Admin ui
- '81: 81 '
miljø:
Db_sqlite_file: "/data/npm.sqlite "
Volum:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

Til slutt, kjør Docker-Compose-kommandoen som:

Docker -Compose Up -D

Dette vil distribuere bunken fra NPM-bildet som er spesifisert i Docker-Compose-filen. Opprettelsesutgang:

Opprette nettverk "Debian_Default" med standarddriveren
Pulling App (JC21/Nginx-Proxy-Manager: Siste) ..
Siste: Trekk fra JC21/Nginx-Proxy-Manager
801BFAA63EF2: Trekk komplett
7927CD3BBE4C: Trekk komplett
F53B85628DA5: Trekk komplett
E834C30791F9: Trekk komplett
6B68B3708DD5: Trekk komplett
963fe519b5fd: Trekk komplett
37E54D057F10: Trekk komplett
-------------------------------------
Digest: SHA256: B33AAB798A6150BA7DD238D36936D0882A312C983A0B3EB261A6DCBD5E6A3425
Status: Lastet ned nyere bilde for JC21/Nginx-Proxy-Manager: Siste
Opprette debian_app_1 ... ferdig

Få tilgang til NPM UI

Når du er opprettet og kjørt, kan du logge deg på grensesnittet ved å bruke IP-adressen og porten som er spesifisert i Docker-Compose-filen. I dette tilfellet, port 81.

http: // ip: 81

Det ville være best hvis du landet på NPM -innloggingsgrensesnittet. Skriv inn brukernavnet og passordet som:

[email protected] og ChangeMe, henholdsvis.

Ved innledende innlogging må du oppdatere administratordetaljene.

Når du oppdaterer alle brukerdetaljene, vil du komme til hovedpanelet der du kan konfigurere proxy -vertene dine:

Arbeider med NPM

Etter å ha installert og sørget for at Proxy Manager kjører, kan vi legge til en proxy -vert for å eksponere en tjeneste som kjører på serveren. Naviger til verter - Proxy -verter og klikk på Legg til proxy -vert.

Velg ordningen som HTTP eller HTTPS. Hvis tjenesten du ønsker å eksponere ikke støtter HTTPS -trafikk, hold deg til HTTP. Deretter legger du til domenenavn, fremover vertsnavn og IP. Du kan også velge Block Common Exploits for ekstra sikkerhet.

Når du har utsatt tjenesten, kan du prøve å få tilgang til den ved hjelp av det spesifiserte vertsnavnet eller IP og port. Denne tjenesten skal være tilgjengelig. Du kan også administrere proxy i listen over fullmaktsverter.

NPM -tilgangsliste

I noen tilfeller kan det hende vi må eksponere en applikasjon eller tjeneste på NPM -proxy -listen for spesifikke IP -adresser. For å konfigurere dette, kan du bruke NPM -tilgangslisten.

Naviger til tilgangslisten og klikk på Legg til proxy -liste. Her, gi dem en tilgangsliste et navn; Du kan også velge tilfredsstille alle.

I kategorien autorisasjon, angi brukernavn og passord du vil bruke for å logge på tjenesten.

Naviger til tilgangsfanen og legg til IP -adressene du ønsker å tillate tilkoblinger fra og nekte alle andre.

For å knytte tilgangslisten til en bestemt webapplikasjon, naviger til vertene - Proxy -verten og velg verten din. Klikk på Rediger og angi tilgangslisten som definert ovenfor.

Levering av SSL -sertifikater

NPM lar deg også levere SSL -sertifikater på forskjellige domenenavn. Før du legger til et domenenavn til SSL -bestemmelsen, må du sørge for at domenet peker på NPM Proxy -serveren.

Naviger til SSL -sertifikater, og klikk på Legg til SSL -sertifikat. Oppgi domenenavnene og e -postadressen for Let's Encrypt. Til slutt, godta vilkårene for tjeneste og lagre. Du kan også legge til en DNS -utfordring, men jeg vil ikke dekke det i denne opplæringen.

Dette vil opprette et nytt pålitelig SSL -sertifikat.

Tilpass hjemmesiden

Du kan også tilpasse standard websiden for NPM -serveren. Klikk på Innstillinger - Standardside og velg Rediger. Du kan velge å vise en 404 -feil, omdirigere til en ny adresse eller opprette en tilpasset side.

For eksempel nedenfor er en HTML -kode for å vise 403 forbudt.







403 Forbudt


Kilde: Codepen https: // Codepen.IO/BLECAF/PEN/NLOEPY

Konklusjon

Denne opplæringen har sett på å installere og distribuere Nginx Proxy Manager på en Ubuntu -server som kjører Docker. Vi dekket da hvordan du konfigurerer NPM og legger vertene til Proxy Manager.

Husk: Konsekvent eksperimentering er nøkkelen til mestring, så eksperimenter bort!