Einführung
Wir installieren den Nginx Proxy Manager, eine Open-Source-Software, die die Nutzung des Nginx-Webservers über eine benutzerfreundliche Oberfläche vereinfacht. Mit dem Nginx Proxy Manager lassen sich Proxy-Hosts, Redirect-Hosts, Streams und 404-Hosts erstellen.
Voraussetzungen
- Ein Server mit einer dedizierten IPv4-Adresse
- Grundkenntnisse in Linux und Terminal
- Die Ports 80, 81 und 443 sind verfügbar.
Schritt 1 – Einen neuen Server erstellen
Erstellen Sie einen neuen Server, beispielsweise mit Hotsnr.
Achten Sie bei der Servererstellung darauf, ein von Docker unterstütztes Betriebssystem zu wählen. In diesem Tutorial wird Ubuntu 24.04 verwendet. Für einen Reverse-Proxy mit geringem Datenverkehr ist ein Standard-Tarif in der Regel ausreichend.
Es wird außerdem empfohlen, einen SSH-Schlüssel hinzuzufügen.
Aus Sicherheitsgründen wird die Verwendung des Root-Benutzers nicht empfohlen. Stattdessen sollten Sie einen neuen Benutzer erstellen und diesen der sudo-Gruppe hinzufügen.
Schritt 2 – Docker und Nginx Proxy Manager installieren
- Verbindung zum Server herstellen
Als Erstes können Sie sich per SSH mit Ihrem neuen Server verbinden.
ssh holu@<server_ip>
- Docker installieren
Um Docker unter Ubuntu zu installieren, führen Sie die folgenden Befehle aus. Falls Ihr Server ein anderes Betriebssystem verwendet, stellen Sie sicher, dass Sie die korrekten Befehle nachschlagen (siehe Docker installieren – Unterstützte Plattformen).
Fügen Sie den GPG-Schlüssel und das Docker-Repository hinzu:
# Uninstall old versions
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# Install prerequisites
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
# Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Set up stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullInstallieren Sie Docker Engine und Docker Compose:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Test the installation
docker --version
docker compose versionWir haben Docker und Docker Compose erfolgreich installiert.
Fügen Sie Ihren Benutzer der Docker-Gruppe hinzu:
sudo usermod -aG docker <user>
Melden Sie sich ab und wieder an, um Ihre Benutzergruppen zu aktualisieren.
Nun müssen wir den Nginx Proxy Manager selbst installieren.
- Installieren Sie den Nginx Proxy Manager.
Erstellen Sie ein neues Verzeichnis für den nginx-Proxy-Manager:
mkdir -p npm
cd npmFühren Sie die folgenden, unten aufgeführten Befehle aus.
# Create a docker-compose configuration file
touch docker-compose.yml
# Editing the file
nano docker-compose.ymlFügen Sie den folgenden Inhalt in die unten aufgeführte Datei ein.
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
# network_mode: 'host'Hinweis zum Netzwerkmodus:
- Wenn Sie planen, Anfragen an externe Server mit öffentlichen IP-Adressen zu senden, benötigen Sie network_mode nicht.
- Wenn Sie lokale Docker-Container als Proxy verwenden und auf 127.0.0.1 verweisen möchten: Sie benötigen network_mode und müssen das Hash-Symbol am Zeilenanfang entfernen.
Nun müssen wir den Stack mit folgendem Befehl starten.
docker compose up -d
Wir sollten nun mit den folgenden Daten auf die Admin-Oberfläche zugreifen können.
Ersetzen Sie 203.0.113.1 durch Ihre öffentliche IPv4-Adresse.
Verwaltungsschnittstelle: http://203.0.113.1:81
Standard-Administratorbenutzer:
Email: [email protected]
Password: changemeSchritt 3 – Zugriff auf die Administratoroberfläche
Unmittelbar nach der Anmeldung mit dem Standardbenutzer müssen Sie Ihr Profil bearbeiten und Ihr Passwort ändern.
Die Admin-Anmeldeseite sollte wie im folgenden Bild aussehen.
Sobald Sie sich angemeldet und alle Standardeinstellungen geändert haben, können Sie das “Dashboard” anzeigen.
Die Einrichtung Ihres ersten Proxy-Hosts ist relativ einfach. Klicken Sie im Dashboard auf “0 Proxy-Hosts” “ ”Proxy-Host hinzufügen». Unten sehen Sie einen Screenshot einer Basiskonfiguration für den Zugriff auf die Administrationsoberfläche über eine Domain (proxy.example.com). Stellen Sie sicher, dass die Domain über einen DNS-Eintrag verfügt, der auf die öffentliche IPv4-Adresse des Servers verweist.
Anschließend benötigen Sie höchstwahrscheinlich ein SSL-Zertifikat, um die Sicherheit zu gewährleisten. Unten sehen Sie einen Screenshot der anfänglichen Konfiguration, wie die SSL-Optionen aussehen könnten.
Sie können bei Bedarf weitere Optionen wie “SSL erzwingen” usw. aktivieren. Diese sind im Bild nicht ausgewählt, damit die Leser dieses Tutorials nicht verwirrt werden und denken, sie müssten sie aktivieren.
Nach dem Speichern des neuen Eintrags können Sie über die von Ihnen eingerichtete Domäne (in diesem Beispiel proxy.example.com) auf die Administratoroberfläche zugreifen.
Der Nginx-Proxy-Manager ist jetzt einsatzbereit und Sie können Ihre Proxy-Hosts hinzufügen.
Wenn Sie in der oben genannten Docker Compose-Datei `network_mode` hinzugefügt haben, sollten Sie den “Hostname/IP-Weiterleitungscode” für alle lokalen Container auf 127.0.0.1 setzen können. Beispiel: ein lokaler WordPress-Docker-Container:
holu@tutorial:~/npm$ docker run -p 8080:80 -d wordpress
holu@tutorial:~/npm$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23bcbfe55c53 jc21/nginx-proxy-manager "/init" 31 minutes ago Up 31 minutes npm-app-1
e9853acea394 wordpress "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp thirsty_greiderSie können das Ziel auf http://127.0.0.1:8080: festlegen.
Wenn Sie in Ihrer Docker Compose-Datei keine network_mode: 'host'-Einstellung haben, müssen Sie als Ziel eine öffentliche IP-Adresse angeben, in diesem Beispiel 203.0.113.1:8080.
Ergebnis
Nun müssen Sie einen Nginx Proxy Manager installieren.














