- En Linux-server
- Docker och Docker komponerar installerat på servern
- Root eller användare med sudo-behörigheter
Om du har allt detta, låt oss dyka in.
Vad är Nginx Proxy Manager?
Nginx proxy manager (NPM) är ett omvänd proxyhanteringssystem som körs på Docker. NPM är baserat på en Nginx-server och ger användarna ett rent, effektivt och vackert webbgränssnitt för enklare hantering. Verktyget är enkelt att installera och kräver inte att användarna vet hur man arbetar med Nginx-servrar eller SSL-certifikat. NPM är ett open source-verktyg som underhålls av utvecklare från hela världen. Den är väl lämpad för små servermiljöer och privata laboratoriemiljöer. Denna handledning fokuserar på att visa dig hur du distribuerar Nginx-proxyhanteraren:
Installerar Docker och SQLite
Nginx Proxy manager körs som en dockningsbehållare; det kräver således Docker och docker-compose installerat på servern. För enkelhets skull illustrerar jag bara hur man installerar Docker på Ubuntu. Se Docker-dokumentationen för referens om hur du ställer in den på andra system. För att installera Docker på Ubuntu, börja med att ta bort gamla Docker-installationer. Hoppa över detta om ingen finns tillgänglig.
sudo apt-get remove docker docker-engine docker.io containerd runcInstallera sedan förvaret och alla beroenden med hjälp av kommandona:
sudo apt-get-uppdateringsudo apt-get install apt-transport-https ca-certifikat curl gnupg lsb-release -y
Lägg till Docker-förvarets GPG-nyckel:
curl -fsSL https: // nedladdning.hamnarbetare.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / dela / nyckelringar / docker-arkiv-nyckelring.gpgLägg sedan till det stabila arkivet med hjälp av echo-kommandot som:
echo "deb [arch = amd64 signerad av = / usr / share / keyrings / docker-archive-keyring.gpg] https: // nedladdning.hamnarbetare.com / linux / ubuntu \$ (lsb_release -cs) stabil "| sudo tee / etc / apt / sources.lista.d / docker.lista> / dev / null
Slutligen uppdaterar du förvaren och installerar dockaren med kommandona:
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -yKör nu docker och aktivera vid start:
sudo systemctl aktivera docker.servicesudo systemctl starta docker.service
sudo systemctl aktiverar containerd.service
Installera SQLite
Nästa steg är att installera SQLite-databasen som vi ska använda för att köra NPM. Det är bra att notera att du också kan använda MySQL-databasen.
Distribuera NPM på Docker
För att distribuera Nginx Proxy Manager måste vi skapa en docker-compose-fil för att köra Docker och initialisera behållaren. Om du vill veta mer om Docker-komponeringsfilen och hur den fungerar kan du överväga de resurser som är länkade här. Jag rekommenderar starkt att du skapar docker-compose-filen i en katalog som du har full behörighet.
nano docker-compose.yamlLägg sedan till följande rader i skrivfilen, spara och stäng.
version: "3"tjänster:
app:
bild: 'jc21 / nginx-proxy-manager: senaste'
starta om: alltid
hamnar:
# HTTP-port
- '80: 80 '
# HTTPS-port:
- '443: 443'
# Admin UI
- '81: 81 '
miljö:
DB_SQLITE_FILE: "/ data / npm.sqlite "
volymer:
- ./ data: / data
- ./ letsencrypt: / etc / letsencrypt
Slutligen kör kommandot docker-compose som:
docker-compose up -dDetta kommer att distribuera stacken från NPM-bilden som anges i docker-compose-filen. Skapningsoutput:
Skapar nätverk "debian_default" med standarddrivrutinenDra appen (jc21 / nginx-proxy-manager: senaste) ..
senaste: Hämtar från jc21 / nginx-proxy-manager
801bfaa63ef2: Dra komplett
7927cd3bbe4c: Dra komplett
f53b85628da5: Dra komplett
e834c30791f9: Dra komplett
6b68b3708dd5: Dra komplett
963fe519b5fd: Dra komplett
37e54d057f10: Dra komplett
-------------------------------------
Sammanfattning: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Nedladdad nyare bild för jc21 / nginx-proxy-manager: senaste
Skapar debian_app_1 ... gjort
Åtkomst till NPM UI
När du väl har skapat och kört kan du logga in på gränssnittet med den IP-adress och port som anges i docker-compose-filen. I detta fall port 81.
http: // IP: 81
Det vore bäst om du landade på NPM-inloggningsgränssnittet. Ange användarnamn och lösenord som:
[e-postskyddad] respektive changeme.
Vid första inloggningen måste du uppdatera administratörsuppgifterna.
När du har uppdaterat all användarinformation kommer du till huvudinstrumentpanelen där du kan konfigurera dina proxy-värdar:
Arbetar med NPM
Efter att ha installerat och försäkrat oss om att proxyhanteraren körs kan vi lägga till en proxy-värd för att exponera en tjänst som körs på servern. Navigera till Värdar - Proxyvärdar och klicka på Lägg till proxyvärd.
Välj schemat som HTTP eller HTTPS. Om tjänsten du vill exponera inte stöder HTTPS-trafik, håll dig till HTTP. Lägg sedan till domännamn, Vidarebefordra värdnamn och IP. Du kan också välja Blockera vanliga exploateringar för ökad säkerhet.
När du har exponerat tjänsten, försök att komma åt den med det angivna värdnamnet eller IP och port. Denna tjänst bör vara tillgänglig. Du kan också hantera proxy i listan över proxy-värdar.
NPM-åtkomstlista
I vissa fall kan vi behöva exponera en applikation eller tjänst på NPM-proxylistan för specifika IP-adresser. För att konfigurera detta kan du använda NPM-åtkomstlistan.
Navigera till åtkomstlistan och klicka på Lägg till proxylista. Här, ge dem en åtkomstlista ett namn; Du kan också välja Tillfredsställ alla.
På behörighetsfliken ställer du in användarnamn och lösenord som du använder för att logga in på tjänsten.
Navigera till fliken Access och lägg till IP-adresserna som du vill tillåta anslutningar från och neka alla andra.
Om du vill bifoga åtkomstlistan till en viss webbapplikation, navigerar du till värdarna - proxivärd och väljer din värd. Klicka på Redigera och ställ in åtkomstlistan enligt ovan.
Tillhandahållande av SSL-certifikat
Med NPM kan du också tillhandahålla SSL-certifikat på olika domännamn. Innan du lägger till ett domännamn i SSL-bestämmelsen, se till att domänen pekar till NPM-proxyservern.
Navigera till SSL-certifikat och klicka på Lägg till SSL-certifikat. Ange domännamn och e-postadress för Låt oss kryptera. Slutligen godkänn användarvillkoren och spara. Du kan också lägga till en DNS-utmaning, men jag kommer inte att täcka det i den här handledningen.
Detta skapar ett nytt pålitligt SSL-certifikat.
Anpassa hemsidan
Du kan också anpassa standardsidan för NPM-servern. Klicka på Inställningar - Standardwebbplats och välj Redigera. Du kan välja att visa en 404-FEL, omdirigera till en ny adress eller skapa en anpassad sida.
Till exempel nedan är en HTML-kod för att visa 403 Forbidden.
KÄLLA: CodePen https: // codepen.io / blecaf / pen / NLoEPY
Slutsats
Denna handledning har tittat på installation och distribution av Nginx Proxy Manager på en Ubuntu-server som kör Docker. Vi täckte sedan hur man konfigurerar NPM och lägger till värdar i proxyhanteraren.
Kom ihåg: konsekventa experiment är nyckeln till behärskning, så experimentera bort!