- En Linux-server
- Docker og Docker komponerer installeret på serveren
- Root eller bruger med sudo-tilladelser
Hvis du har alt dette, så lad os dykke ind.
Hvad er Nginx Proxy Manager?
Nginx proxy manager (NPM) er et omvendt proxy management system, der kører på Docker. NPM er baseret på en Nginx-server og giver brugerne en ren, effektiv og smuk webgrænseflade for lettere administration. Værktøjet er let at konfigurere og kræver ikke, at brugerne ved, hvordan de arbejder med Nginx-servere eller SSL-certifikater. NPM er et open source-værktøj, der vedligeholdes af udviklere fra hele verden. Det er velegnet til små servermiljøer og private laboratoriemiljøer. Denne tutorial vil fokusere på at vise dig, hvordan du implementerer Nginx proxy manager:
Installation af Docker og SQLite
Nginx Proxy manager kører som en docker container; det kræver således, at Docker og docker-compose er installeret på serveren. Af hensyn til enkelheden vil jeg kun illustrere, hvordan du installerer Docker på Ubuntu. Se Docker-dokumentationen for reference til, hvordan du konfigurerer den på andre systemer. For at installere Docker på Ubuntu skal du starte med at fjerne gamle Docker-installationer. Spring dette over, hvis ingen er tilgængelige.
sudo apt-get fjern docker docker-engine docker.io containerd runcInstaller derefter lageret og alle afhængigheder ved hjælp af kommandoerne:
sudo apt-get opdateringsudo apt-get install apt-transport-https ca-certifikater krølle gnupg lsb-release -y
Tilføj Docker-arkivets GPG-nøgle:
krølle -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / nøgleringe / docker-arkiv-nøglering.gpgDernæst tilføj det stabile lager ved hjælp af ekkokommandoen som:
ekko "deb [arch = amd64 underskrevet af = / usr / share / nøgleringe / docker-arkiv-nøglering.gpg] https: // download.docker.com / linux / ubuntu \$ (lsb_release -cs) stabil "| sudo tee / etc / apt / sources.liste.d / docker.liste> / dev / null
Endelig skal du opdatere repositories og installere docker ved hjælp af kommandoerne:
sudo apt-get opdatering && sudo apt-get installer docker-ce docker-ce-cli containerd.io docker-compose -yKør nu docker og aktiver ved opstart:
sudo systemctl aktiverer docker.servicesudo systemctl start docker.service
sudo systemctl aktiver containerd.service
Installer SQLite
Det næste trin er at installere den SQLite-database, som vi skal bruge til at køre NPM. Det er godt at bemærke, at du også kan bruge MySQL-databasen.
Implementere NPM på Docker
For at implementere Nginx Proxy Manager er vi nødt til at oprette en docker-compose-fil for at køre Docker og initialisere containeren. For at lære mere om Docker-komponentfilen, og hvordan den fungerer, skal du overveje de ressourcer, der er knyttet her. Jeg anbefaler stærkt, at du opretter docker-compose-filen i et bibliotek, du har fulde tilladelser.
nano docker-komponere.yamlDernæst tilføj følgende linjer til komponentfilen, gem og luk.
version: "3"tjenester:
app:
billede: 'jc21 / nginx-proxy-manager: seneste'
genstart: altid
porte:
# HTTP-port
- '80: 80 '
# HTTPS-port:
- '443: 443'
# Admin UI
- '81: 81 '
miljø:
DB_SQLITE_FILE: "/ data / npm.sqlite "
volumener:
- ./ data: / data
- ./ letsencrypt: / etc / letsencrypt
Endelig kør kommandoen docker-compose som:
docker-komponere op -dDette distribuerer stakken fra det NPM-billede, der er angivet i docker-compose-filen. Oprettelsesoutput:
Oprettelse af netværk "debian_default" med standarddriverenTrækker app (jc21 / nginx-proxy-manager: seneste) ..
seneste: Trækker fra jc21 / nginx-proxy-manager
801bfaa63ef2: Træk komplet
7927cd3bbe4c: Træk komplet
f53b85628da5: Træk komplet
e834c30791f9: Træk komplet
6b68b3708dd5: Træk komplet
963fe519b5fd: Træk komplet
37e54d057f10: Træk komplet
-------------------------------------
Fordøjelse: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Downloadet nyere billede til jc21 / nginx-proxy-manager: seneste
Opretter debian_app_1 ... færdig
Adgang til NPM UI
Når du er oprettet og kørt, kan du logge på grænsefladen ved hjælp af IP-adressen og porten, der er angivet i docker-compose-filen. I dette tilfælde port 81.
http: // IP: 81
Det ville være bedst, hvis du landede på NPM-login-brugergrænsefladen. Indtast brugernavn og adgangskode som:
[henholdsvis e-mailbeskyttet] og changeme.
Ved første login skal du opdatere administratoroplysningerne.
Når du har opdateret alle brugeroplysninger, kommer du til hoveddashboardet, hvorfra du kan konfigurere dine proxyværter:
Arbejde med NPM
Efter at have installeret og sikret, at proxyadministrator kører, kan vi tilføje en proxyhost for at udsætte en tjeneste, der kører på serveren. Naviger til værter - Proxyværter, og klik på Tilføj proxyvært.
Vælg ordningen såsom HTTP eller HTTPS. Hvis den tjeneste, du vil eksponere, ikke understøtter HTTPS-trafik, skal du holde fast ved HTTP. Dernæst tilføj domænenavne, Videresend værtsnavn og IP. Du kan også vælge Bloker almindelige udnyttelser for ekstra sikkerhed.
Når du har eksponeret tjenesten, skal du prøve at få adgang til den ved hjælp af det angivne værtsnavn eller IP og port. Denne service skal være tilgængelig. Du kan også administrere proxyen på listen over proxyværter.
NPM-adgangsliste
I nogle tilfælde skal vi muligvis udsætte en applikation eller tjeneste på NPM-proxylisten for specifikke IP-adresser. For at konfigurere dette kan du bruge NPM Access List.
Naviger til adgangsliste, og klik på Tilføj proxy-liste. Her skal du give dem en adgangsliste et navn; du kan også vælge Tilfredsstil enhver.
På autorisationsfanen skal du indstille brugernavne og adgangskoder, du vil bruge til at logge ind på tjenesten.
Naviger til adgangsfanen, og tilføj de IP-adresser, du vil tillade forbindelser fra, og nægt alle andre.
For at vedhæfte adgangslisten til en bestemt webapplikation skal du navigere til værter - proxyhost og vælge din vært. Klik på Rediger, og indstil adgangslisten som defineret ovenfor.
Tilvejebringelse af SSL-certifikater
NPM giver dig også mulighed for at tilvejebringe SSL-certifikater på forskellige domænenavne. Før du tilføjer et domænenavn til SSL-bestemmelsen, skal du sikre dig, at domænet peger på NPM-proxyserveren.
Naviger til SSL-certifikater, og klik på Tilføj SSL-certifikat. Angiv domænenavne og e-mail-adressen til Let's Encrypt. Endelig skal du acceptere servicevilkårene og gemme. Du kan også tilføje en DNS-udfordring, men jeg vil ikke dække det i denne vejledning.
Dette opretter et nyt betroet SSL-certifikat.
Tilpas startside
Du kan også tilpasse standardwebsiden til NPM-serveren. Klik på Indstillinger - Standardwebsted, og vælg Rediger. Du kan vælge at vise en 404 FEJL, omdirigere til en ny adresse eller Opret en brugerdefineret side.
For eksempel er nedenunder en HTML-kode, der skal vises 403 Forbidden.
KILDE: CodePen https: // codepen.io / blecaf / pen / NLoEPY
Konklusion
Denne tutorial har set på installation og implementering af Nginx Proxy-manager på en Ubuntu-server, der kører Docker. Vi dækkede derefter, hvordan man konfigurerer NPM og tilføjer værter til proxy manager.
Husk: Konsekvent eksperimentering er nøglen til mestring, så eksperimenter væk!