Nginx

Sådan bruges Nginx Proxy Manager

Sådan bruges Nginx Proxy Manager
Nginx er en populær webserver og reverse proxy, der bruges til at dirigere trafik og omdirigere den til en anden server. Opsætning af Nginx som en omvendt proxy kan være tidskrævende og tilbøjelig til fejl og miskonfigurationer. Denne vejledning viser dig, hvordan du konfigurerer og bruger Nginx proxy manager til lettere styring og konfiguration. Før du dykker ned i vejledningen, er der et par forudsætninger. Du får brug for:

  1. En Linux-server
  2. Docker og Docker komponerer installeret på serveren
  3. 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 runc

Installer derefter lageret og alle afhængigheder ved hjælp af kommandoerne:

sudo apt-get opdatering
sudo 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.gpg

Dernæ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 -y

Kør nu docker og aktiver ved opstart:

sudo systemctl aktiverer docker.service
sudo 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.yaml

Dernæ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 -d

Dette distribuerer stakken fra det NPM-billede, der er angivet i docker-compose-filen. Oprettelsesoutput:

Oprettelse af netværk "debian_default" med standarddriveren
Træ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.







403 forbudt


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!

Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...