Nginx

So verwenden Sie den Nginx-Proxy-Manager

So verwenden Sie den Nginx-Proxy-Manager
Nginx ist ein beliebter Webserver und Reverse-Proxy, der verwendet wird, um den Datenverkehr zu leiten und auf einen anderen Server umzuleiten. Die Einrichtung von Nginx als Reverse-Proxy kann zeitaufwändig und anfällig für Fehler und Fehlkonfigurationen sein. In dieser Anleitung erfahren Sie, wie Sie den Nginx-Proxy-Manager für eine einfachere Verwaltung und Konfiguration einrichten und verwenden. Bevor Sie in das Tutorial eintauchen, gibt es ein paar Voraussetzungen. Du wirst brauchen:

  1. Ein Linux-Server
  2. Docker und Docker Compose sind auf dem Server installiert
  3. Root oder Benutzer mit sudo-Berechtigungen

Wenn du das alles hast, lass uns eintauchen.

Was ist der Nginx-Proxy-Manager??

Der Nginx-Proxy-Manager (NPM) ist ein Reverse-Proxy-Verwaltungssystem, das auf Docker ausgeführt wird. NPM basiert auf einem Nginx-Server und bietet Benutzern eine saubere, effiziente und schöne Weboberfläche für eine einfachere Verwaltung. Das Tool ist einfach einzurichten und erfordert keine Kenntnisse der Arbeit mit Nginx-Servern oder SSL-Zertifikaten. NPM ist ein Open-Source-Tool, das von Entwicklern aus der ganzen Welt gepflegt wird. Es eignet sich gut für kleine Serverumgebungen und private Laborumgebungen. Dieses Tutorial konzentriert sich darauf, Ihnen zu zeigen, wie Sie den Nginx-Proxy-Manager bereitstellen:

Docker und SQLite installieren

Der Nginx-Proxy-Manager wird als Docker-Container ausgeführt. Daher müssen Docker und docker-compose auf dem Server installiert sein. Der Einfachheit halber werde ich nur illustrieren, wie man Docker auf Ubuntu installiert. Informationen zur Einrichtung auf anderen Systemen finden Sie in der Docker-Dokumentation. Um Docker unter Ubuntu zu installieren, entfernen Sie zunächst alte Docker-Installationen. Überspringen Sie dies, wenn keine verfügbar ist.

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

Als nächstes installieren Sie das Repository und alle Abhängigkeiten mit den Befehlen:

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

Fügen Sie den GPG-Schlüssel des Docker-Repositorys hinzu:

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

Als nächstes fügen Sie das Stable-Repository mit dem echo-Befehl wie folgt hinzu:

echo "deb [arch=amd64 signiert von=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.Docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.aufführen.d/docker.Liste > /dev/null

Aktualisieren Sie schließlich die Repositorys und installieren Sie Docker mit den Befehlen:

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

Führen Sie nun Docker aus und aktivieren Sie es beim Start:

sudo systemctl aktivieren docker.Bedienung
sudo systemctl start docker.Bedienung
sudo systemctl enable containerd.Bedienung

SQLite installieren

Der nächste Schritt besteht darin, die SQLite-Datenbank zu installieren, die wir zum Ausführen von NPM verwenden werden. Es ist gut zu beachten, dass Sie auch die MySQL-Datenbank verwenden können.

Bereitstellen von NPM auf Docker

Um den Nginx Proxy Manager bereitzustellen, müssen wir eine docker-compose-Datei erstellen, um Docker auszuführen und den Container zu initialisieren. Um mehr über die Docker Compose-Datei und ihre Funktionsweise zu erfahren, sehen Sie sich die hier verlinkten Ressourcen an. Ich empfehle Ihnen dringend, die docker-compose-Datei in einem Verzeichnis zu erstellen, in dem Sie volle Berechtigungen haben.

nano docker-compose.yaml

Als nächstes fügen Sie der Compose-Datei die folgenden Zeilen hinzu, speichern und schließen.

Version: "3"
Dienstleistungen:
App:
Bild: 'jc21/nginx-proxy-manager:latest'
Neustart: immer
Häfen:
# HTTP-Port
- '80:80'
# HTTPS-Port:
- '443:443'
# Admin-Benutzeroberfläche
- '81:81'
Umgebung:
DB_SQLITE_FILE: "/data/npm.sqlite"
Bände:
- ./Daten:/Daten
- ./letsencrypt:/etc/letsencrypt

Führen Sie abschließend den Befehl docker-compose wie folgt aus:

docker-compose up -d

Dadurch wird der Stack aus dem in der docker-compose-Datei angegebenen NPM-Image bereitgestellt. Erstellungsausgabe:

Netzwerk "debian_default" mit dem Standardtreiber erstellen
App wird gezogen (jc21/nginx-proxy-manager:neueste)…
neuestes: Ziehen von jc21/nginx-proxy-manager
801bfaa63ef2: Ziehen abgeschlossen
7927cd3bbe4c: Ziehen abgeschlossen
f53b85628da5: Ziehen abgeschlossen
e834c30791f9: Ziehen abgeschlossen
6b68b3708dd5: Ziehen abgeschlossen
963fe519b5fd: Ziehen abgeschlossen
37e54d057f10: Ziehen abgeschlossen
-------------------------------------
Zusammenfassung: sha256:b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Neueres Image für jc21/nginx-proxy-manager heruntergeladen: aktuell-
debian_app_1 erstellen… fertig

Zugriff auf die NPM-Benutzeroberfläche

Nach der Erstellung und Ausführung können Sie sich mit der IP-Adresse und dem Port, die in der docker-compose-Datei angegeben sind, bei der Schnittstelle anmelden. In diesem Fall Port 81.

http://IP:81

Es wäre am besten, wenn Sie auf der NPM-Login-UI landen. Geben Sie den Benutzernamen und das Passwort ein als:

[email protected] bzw. changeme.

Bei der ersten Anmeldung müssen Sie die Administratordaten aktualisieren.

Sobald Sie alle Benutzerdetails aktualisiert haben, gelangen Sie zum Haupt-Dashboard, von dem aus Sie Ihre Proxy-Hosts konfigurieren können:

Arbeiten mit NPM

Nachdem wir den Proxy-Manager installiert und sichergestellt haben, dass er ausgeführt wird, können wir einen Proxy-Host hinzufügen, um einen auf dem Server ausgeführten Dienst verfügbar zu machen. Navigieren Sie zu Hosts - Proxy-Hosts und klicken Sie auf Proxy-Host hinzufügen.

Wählen Sie das Schema wie HTTP oder HTTPS. Wenn der Dienst, den Sie bereitstellen möchten, HTTPS-Datenverkehr nicht unterstützt, bleiben Sie bei HTTP. Fügen Sie als Nächstes die Domänennamen, den Forward-Hostnamen und die IP-Adresse hinzu. Sie können auch Allgemeine Exploits blockieren für zusätzliche Sicherheit auswählen.

Sobald Sie den Dienst verfügbar gemacht haben, versuchen Sie, mit dem angegebenen Hostnamen oder der IP und dem Port darauf zuzugreifen. Dieser Dienst sollte zugänglich sein. Sie können den Proxy auch in der Liste der Proxy-Hosts verwalten.

NPM-Zugriffsliste

In einigen Fällen müssen wir möglicherweise eine Anwendung oder einen Dienst auf der NPM-Proxy-Liste bestimmten IP-Adressen zur Verfügung stellen. Um dies zu konfigurieren, können Sie die NPM-Zugriffsliste verwenden.

Navigieren Sie zu Access List und klicken Sie auf Add Proxy List. Geben Sie ihnen hier einen Namen für eine Zugriffsliste; Sie können auch Beliebige erfüllen auswählen select.

Legen Sie auf der Registerkarte Autorisierung die Benutzernamen und Passwörter fest, mit denen Sie sich beim Dienst anmelden.

Navigieren Sie zur Registerkarte Zugriff und fügen Sie die IP-Adressen hinzu, von denen Sie Verbindungen zulassen und alle anderen verweigern möchten.

Um die Zugriffsliste an eine bestimmte Webanwendung anzuhängen, navigieren Sie zu Hosts – Proxy Host und wählen Sie Ihren Host aus. Klicken Sie auf Bearbeiten und stellen Sie die Zugriffsliste wie oben definiert ein.

Bereitstellung von SSL-Zertifikaten

Mit NPM können Sie auch SSL-Zertifikate für verschiedene Domänennamen bereitstellen. Stellen Sie vor dem Hinzufügen eines Domänennamens zur SSL-Bereitstellung sicher, dass die Domäne auf den NPM-Proxyserver verweist.

Navigieren Sie zu SSL-Zertifikaten und klicken Sie auf SSL-Zertifikat hinzufügen. Geben Sie die Domainnamen und die E-Mail-Adresse für Let's Encrypt an. Schließlich stimme den Nutzungsbedingungen zu und spare. Sie können auch eine DNS-Herausforderung hinzufügen, aber ich werde das in diesem Tutorial nicht behandeln.

Dadurch wird ein neues vertrauenswürdiges SSL-Zertifikat erstellt.

Startseite anpassen

Sie können auch die Standardwebseite für den NPM-Server anpassen. Klicken Sie auf Einstellungen - Standard-Site und wählen Sie Bearbeiten. Sie können einen 404-FEHLER anzeigen, an eine neue Adresse umleiten oder eine benutzerdefinierte Seite erstellen.

Unten ist beispielsweise ein HTML-Code, um 403 Forbidden anzuzeigen.







403 Verboten


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

Fazit

In diesem Tutorial wurde die Installation und Bereitstellung des Nginx-Proxy-Managers auf einem Ubuntu-Server mit Docker untersucht. Wir haben dann behandelt, wie man NPM konfiguriert und dem Proxy-Manager Hosts hinzufügt.

Denken Sie daran: Konsequentes Experimentieren ist der Schlüssel zum Meistern, also experimentieren Sie weg!

Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...