Nginx

Nginx Proxy Manager gebruiken

Nginx Proxy Manager gebruiken
Nginx is een populaire webserver en reverse proxy die wordt gebruikt om verkeer te routeren en om te leiden naar een andere server. Nginx instellen als een reverse proxy kan tijdrovend zijn en vatbaar voor fouten en verkeerde configuraties. Deze handleiding laat u zien hoe u de Nginx-proxymanager kunt instellen en gebruiken voor eenvoudiger beheer en configuratie. Voordat je in de tutorial duikt, zijn er een paar vereisten. Je zal nodig hebben:

  1. Een Linux-server
  2. Docker en Docker componeren geïnstalleerd op de server
  3. Root of gebruiker met sudo-rechten

Als je dit allemaal hebt, laten we er dan in duiken.

Wat is de Nginx Proxy Manager??

De Nginx proxy manager (NPM) is een reverse proxy management systeem dat draait op Docker. NPM is gebaseerd op een Nginx-server en biedt gebruikers een schone, efficiënte en mooie webinterface voor eenvoudiger beheer. De tool is eenvoudig in te stellen en vereist niet dat gebruikers weten hoe ze met Nginx-servers of SSL-certificaten moeten werken. NPM is een open-source tool die wordt onderhouden door ontwikkelaars van over de hele wereld. Het is zeer geschikt voor kleine serveromgevingen en privélabomgevingen. Deze tutorial zal erop gericht zijn u te laten zien hoe u de Nginx-proxymanager implementeert:

Docker en SQLite installeren

Nginx Proxy Manager werkt als een docker-container; dus vereist het dat Docker en docker-compose op de server zijn geïnstalleerd. Voor de eenvoud zal ik alleen illustreren hoe Docker op Ubuntu te installeren. Raadpleeg de Docker-documentatie voor informatie over het instellen op andere systemen. Om Docker op Ubuntu te installeren, begint u met het verwijderen van oude Docker-installaties. Sla dit over als er geen beschikbaar is.

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

Installeer vervolgens de repository en alle afhankelijkheden met behulp van de opdrachten:

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

Voeg de Docker-repository GPG-sleutel toe:

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

Voeg vervolgens de stabiele repository toe met behulp van de echo-opdracht als:

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

Werk ten slotte de repositories bij en installeer docker met behulp van de opdrachten:

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

Voer nu docker uit en schakel bij opstarten in:

sudo systemctl docker inschakelen.onderhoud
sudo systemctl start docker.onderhoud
sudo systemctl enable containerd.onderhoud

Installeer SQLite

De volgende stap is het installeren van de SQLite-database die we zullen gebruiken om NPM uit te voeren. Het is goed om te weten dat u ook de MySQL-database kunt gebruiken.

NPM implementeren op Docker

Om de Nginx Proxy Manager te implementeren, moeten we een docker-compose-bestand maken om Docker uit te voeren en de container te initialiseren. Bekijk de bronnen die hier zijn gelinkt voor meer informatie over het Docker-opstelbestand en hoe het werkt. Ik raad je ten zeerste aan om het docker-compose-bestand te maken in een map met volledige rechten permission.

nano docker-compose.yaml

Voeg vervolgens de volgende regels toe aan het opstelbestand, sla op en sluit.

versie: "3"
Diensten:
app:
afbeelding: 'jc21/nginx-proxy-manager:laatste'
herstart: altijd
poorten:
# HTTP-poort
- '80:80'
# HTTPS-poort:
- '443:443'
# Beheerdersinterface
- '81:81'
milieu:
DB_SQLITE_FILE: "/data/npm.sqliet"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

Voer ten slotte de opdracht docker-compose uit als:

docker-compose up -d

Hiermee wordt de stapel geïmplementeerd vanuit de NPM-afbeelding die is opgegeven in het docker-compose-bestand. Creatie output:

Netwerk "debian_default" maken met het standaardstuurprogramma
App wordt opgehaald (jc21/nginx-proxy-manager:laatste)..
laatste: Pulling van jc21/nginx-proxy-manager
801bfaa63ef2: Trekken voltooid
7927cd3bbe4c: Trekken voltooid
f53b85628da5: Trekken voltooid
e834c30791f9: Trekken voltooid
6b68b3708dd5: Trekken voltooid
963fe519b5fd: Trekken voltooid
37e54d057f10: Trekken voltooid
-------------------------------------
Samenvatting: sha256:b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Nieuwere afbeelding gedownload voor jc21/nginx-proxy-manager: nieuwste
Debian_app_1 maken... klaar

NPM-gebruikersinterface openen

Eenmaal gemaakt en actief, kunt u inloggen op de interface met het IP-adres en de poort die zijn opgegeven in het docker-compose-bestand. In dit geval poort 81.

http://IP:81

Het zou het beste zijn als u op de NPM-aanmeldingsgebruikersinterface terechtkwam. Voer de gebruikersnaam en het wachtwoord in als:

[email protected] en changeme, respectievelijk.

Bij de eerste aanmelding moet u de beheerdersgegevens bijwerken.

Nadat u alle gebruikersgegevens hebt bijgewerkt, gaat u naar het hoofddashboard van waaruit u uw proxyhosts kunt configureren:

Werken met NPM

Nadat we de proxymanager hebben geïnstalleerd en ervoor hebben gezorgd dat deze actief is, kunnen we een proxyhost toevoegen om een ​​service op de server zichtbaar te maken. Navigeer naar Hosts - Proxyhosts en klik op Proxyhost toevoegen.

Selecteer het schema zoals HTTP of HTTPS. Als de service die u wilt vrijgeven geen HTTPS-verkeer ondersteunt, blijf dan bij HTTP. Voeg vervolgens de domeinnamen, Forward hostname en IP toe. U kunt ook Veelvoorkomende exploits blokkeren selecteren voor extra beveiliging.

Nadat u de service hebt blootgesteld, probeert u deze te openen met de opgegeven hostnaam of IP en poort. Deze service moet toegankelijk zijn. U kunt de proxy ook beheren in de lijst met proxyhosts.

NPM-toegangslijst

In sommige gevallen moeten we een toepassing of service op de NPM-proxylijst mogelijk beschikbaar stellen aan specifieke IP-adressen. Om dit te configureren, kunt u de NPM Access List gebruiken.

Navigeer naar Toegangslijst en klik op Proxylijst toevoegen. Geef ze hier een toegangslijst een naam; je kunt ook Satisfy Any selecteren.

Stel op het autorisatietabblad de gebruikersnamen en wachtwoorden in die u wilt gebruiken om u aan te melden bij de service.

Navigeer naar het tabblad Toegang en voeg de IP-adressen toe waarvan u verbindingen wilt toestaan ​​en weiger alle andere.

Om de toegangslijst aan een specifieke webtoepassing te koppelen, navigeert u naar de Hosts - Proxy Host en selecteert u uw host. Klik op Bewerken en stel de toegangslijst in zoals hierboven gedefinieerd.

SSL-certificaten verstrekken

Met NPM kunt u ook SSL-certificaten inrichten op verschillende domeinnamen. Voordat u een domeinnaam aan de SSL-voorziening toevoegt, moet u ervoor zorgen dat het domein naar de NPM-proxyserver verwijst.

Navigeer naar SSL-certificaten en klik op SSL-certificaat toevoegen. Geef de domeinnamen en het e-mailadres op voor Let's Encrypt. Ga ten slotte akkoord met de servicevoorwaarden en sla op. Je kunt ook een DNS-uitdaging toevoegen, maar dat zal ik in deze tutorial niet behandelen.

Hiermee wordt een nieuw vertrouwd SSL-certificaat gemaakt.

Startpagina aanpassen

U kunt ook de standaardwebpagina voor de NPM-server aanpassen. Klik op Instellingen - Standaardsite en selecteer Bewerken. U kunt ervoor kiezen om een ​​404 ERROR weer te geven, om te leiden naar een nieuw adres of om een ​​aangepaste pagina te maken.

Hieronder staat bijvoorbeeld een HTML-code om 403 Forbidden weer te geven.







403 verboden


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

Conclusie

In deze zelfstudie is gekeken naar het installeren en implementeren van de Nginx Proxy-manager op een Ubuntu-server met Docker. Vervolgens hebben we besproken hoe u NPM kunt configureren en hosts kunt toevoegen aan de proxymanager.

Onthoud: consequent experimenteren is de sleutel tot beheersing, dus experimenteer maar weg!

Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...
Hoe de GameConqueror Cheat Engine in Linux te gebruiken
Het artikel bevat een handleiding over het gebruik van de GameConqueror cheat-engine in Linux. Veel gebruikers die games op Windows spelen, gebruiken ...