Wenn Sie das alles haben, lassen Sie uns eintauchen.
Was ist der Nginx -Proxy -Manager??
Der Nginx Proxy Manager (NPM) ist ein Reverse Proxy -Management -System, das auf Docker ausgeführt wird. NPM basiert auf einem NGINX -Server und bietet Benutzern eine saubere, effiziente und schöne Weboberfläche, um das Management einfacher zu machen. Das Tool ist einfach eingerichtet und erfordert nicht, dass Benutzer wissen, wie sie mit NGINX -Servern oder SSL -Zertifikaten arbeiten können. NPM ist ein Open-Source-Tool, das von Entwicklern aus der ganzen Welt gepflegt wird. Es ist gut für kleine Serverumgebungen und Private -Lab -Umgebungen geeignet. Dieses Tutorial konzentriert sich darauf, Ihnen zu zeigen, wie Sie den Nginx -Proxy -Manager bereitstellen:
Installation von Docker und SQLite
Nginx Proxy Manager wird als Docker -Container ausgeführt. Daher müssen Docker und Docker-Compose auf dem Server installiert werden. Der Einfachheit halber werde ich nur veranschaulichen, wie man Docker auf Ubuntu installiert. In der Docker -Dokumentation finden Sie in Bezug auf die Einrichtung auf anderen Systemen. Um Docker auf Ubuntu zu installieren, entfernen Sie zunächst alte Docker -Installationen. Überspringen Sie dies, wenn keiner verfügbar ist.
sudo apt-Get Docker Docker-Engine Docker entfernen.IO Container Runc
Installieren Sie als Nächstes das Repository und alle Abhängigkeiten mit den Befehlen:
sudo apt-Get-Update
sudo apt-Get Installation APT-transport-https ca-zertifikates curl gnupg lsb-release -y
Fügen Sie den GPG -Schlüssel der Docker -Repository hinzu:
curl -fssl https: // herunterladen.Docker.com/linux/ubuntu/gpg | sudo gpg--dearmor -o/usr/share/keyrings/docker-archive-keyring.gpg
Fügen Sie als Nächstes das stabile Repository mit dem Befehl echo als folgend hinzu:
Echo "Deb [Arch = AMD64 signiert für =/usr/share/keyrings/docker-archive-keyring.gpg] https: // herunterladen.Docker.com/linux/ubuntu \
$ (lsb_release -cs) stabil "| sudo tee/etc/apt/Quellen.Liste.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 Installieren Sie Docker-CECer-CEC-Cli-Container.io docker -compose -y
Führen Sie jetzt Docker aus und aktivieren Sie beim Start:
sudo systemctl aktivieren docker.Service
sudo systemctl starten docker.Service
sudo systemctl aktivieren containerd.Service
SQLite installieren
Der nächste Schritt besteht darin, die SQLite -Datenbank zu installieren, mit der wir NPM ausführen werden. Es ist gut zu beachten, dass Sie auch die MySQL -Datenbank verwenden können.
Bereitstellen Sie NPM auf Docker ein
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 die Funktionsweise zu erfahren, sollten Sie die hier verknüpften Ressourcen betrachten. Ich empfehle Ihnen dringend.
Nano Docker-Compose.Yaml
Fügen Sie als Nächst.
Version: "3"
Dienstleistungen:
App:
Bild: 'JC21/Nginx-Proxy-Manager: letztes'
Neustart: Immer
Häfen:
# HTTP -Port
- '80: 80 '
# HTTPS -Port:
- '443: 443'
# Admin ui
- '81: 81 '
Umfeld:
Db_sqlite_file: "/data/npm.Sqlite "
Bände:
- ./Daten:/Daten
- ./letSencrypt:/etc/letSencrypt
Führen Sie schließlich den Befehl docker-compose als: aus
Docker -Compose Up -d
Dadurch wird der Stack aus dem in der Docker-Compose-Datei angegebenen NPM-Bild bereitgestellt. Erstellungsausgabe:
Erstellen von Netzwerk "debian_default" mit dem Standardtreiber
Pulling App (JC21/Nginx-Proxy-Manager: Neueste)…
Neueste: Zieh von JC21/Nginx-Proxy-Manager
801BFAA63EF2: Abziehen
7927CD3BBE4C: Abziehen
F53B85628DA5: Abzahlen
E834C30791F9: Abziehen
6B68B3708DD5: Abziehen
963Fe519b5fd: Pull Complete
37E54D057F10: Abziehen
-------------------------------------
Digest: SHA256: B33AAB798A6150BA7DD238D36936D0882A312C983A0B3EB261A6DCBD5E6A3425
Status: Neues Bild für JC21/Nginx-Proxy-Manager: Neueste
Erstellen von Debian_app_1… fertig
Zugriff auf NPM UI
Nach dem Erstellen und Ausführen können Sie sich mit der IP-Adresse und dem Port, angegeben in der Docker-Compose-Datei, an der Schnittstelle anmelden. In diesem Fall Port 81.
http: // ip: 81
Es wäre am besten, wenn Sie auf der NPM -Login -Benutzeroberfläche gelandet sind. Geben Sie den Benutzernamen und das Passwort ein
[email protected] bzw. Changeme.
Bei der ersten Anmeldung müssen Sie die Administratordetails aktualisieren.
Sobald Sie alle Benutzerdetails aktualisieren, gelangen Sie zum Haupt -Dashboard, von dem Sie Ihre Proxy -Hosts konfigurieren können:
Arbeiten mit NPM
Nachdem wir installiert und sichergestellt haben, dass der Proxy -Manager ausgeführt wird, können wir einen Proxy -Host hinzufügen, um einen auf dem Server ausgeführten Dienst freizulegen. Navigieren Sie zu Hosts - Proxy -Hosts und klicken Sie auf den Proxy -Host hinzufügen.
Wählen Sie das Schema wie HTTP oder HTTPS aus. Wenn der Service, den Sie aufdecken möchten, den HTTPS -Verkehr nicht unterstützt, bleiben Sie bei HTTP. Fügen Sie als Nächst. Sie können auch Block Common Exploits für zusätzliche Sicherheit auswählen.
Sobald Sie den Dienst ausgesetzt haben, versuchen Sie mit dem angegebenen Hostnamen oder IP und Port darauf zuzugreifen. Dieser Service 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 an bestimmte IP -Adressen aussetzen. Um dies zu konfigurieren, können Sie die NPM -Zugriffsliste verwenden.
Navigieren Sie zur Zugriffsliste und klicken Sie auf die Liste der Proxy -Liste hinzufügen. Geben Sie ihnen hier eine Zugriffsliste einen Namen. Sie können auch alle auswählen,.
Legen Sie auf der Registerkarte "Autorisierungs" die Benutzernamen und Passwörter fest, mit denen Sie sich im Dienst anmelden können.
Navigieren Sie zur Registerkarte Zugriff und fügen Sie die IP -Adressen hinzu, die Sie von Verbindungen zulassen möchten, und verweigern Sie alle anderen.
Um die Zugriffsliste an eine bestimmte Webanwendung anzuhängen, navigieren Sie zu den Hosts - Proxy -Host und wählen Sie Ihren Host aus. Klicken Sie auf Bearbeiten und legen Sie die oben definierte Zugriffsliste fest.
Bereitstellung von SSL -Zertifikaten
Mit NPM können Sie auch SSL -Zertifikate für verschiedene Domainnamen vorlegen. Stellen Sie vor dem Hinzufügen eines Domänennamens zur SSL.
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. Stimmen Sie schließlich den Nutzungsbedingungen zu und sparen Sie. Sie können auch eine DNS -Herausforderung hinzufügen, aber ich werde das in diesem Tutorial nicht behandeln.
Dies erstellt ein neues vertrauenswürdiges SSL -Zertifikat.
Passen Sie die Homepage an
Sie können auch die Standard -Webseite für den NPM -Server anpassen. Klicken Sie auf Einstellungen - Standard -Site und wählen Sie Bearbeiten. Sie können einen 404 -Fehler anzeigen, eine neue Adresse umleiten oder eine benutzerdefinierte Seite erstellen.
Im Folgenden finden Sie beispielsweise ein HTML -Code, um 403 Forbidden anzuzeigen.
Quelle: Codepen https: // Codepen.io/blecaf/pen/nloepy
Abschluss
In diesem Tutorial wird die Installation und Bereitstellung des NGINX -Proxy -Managers auf einem Ubuntu -Server Docker untersucht. Wir haben dann behandelt, wie Sie NPM konfigurieren und Hosts zum Proxy -Manager hinzufügen.
Denken Sie daran: Konsequentes Experimentieren ist der Schlüssel zur Beherrschung, also experimentieren Sie also weg!