Wie man den Nginx Proxy Manager mit Docker installiert und verwendet

Ein Reverse Proxy ist ein Webserver, der einem anderen Webserver oder einem Webservice vorgeschaltet werden kann. Er kann ausgehenden Datenverkehr verschlüsseln, als Load Balancer fungieren, den Datenverkehr umleiten und Schutz bieten. Der Nginx-Webserver kann als Proxy-Server vor herkömmlichen Servern eingesetzt werden, aber manchmal kann die Einrichtung mühsam sein und Probleme verursachen, wenn sie nicht richtig durchgeführt wird.

Der Nginx Proxy Manager ist eine Anwendung, die die Einrichtung von Nginx als Proxy-Server erleichtert, indem sie eine grafische Benutzeroberfläche (GUI) mit Funktionen wie integrierter SSL-Unterstützung mit Let’s Encrypt, Unterstützung für mehrere Hosts, HTTP-Authentifizierung, Zugriffslisten und Benutzerverwaltung bietet.

In diesem Lernprogramm lernst du, wie du den Nginx Proxy Manager mit Docker auf einem Linux-Server installierst. Wir werden alle gängigen Linux-Distributionen in einem einzigen Tutorial behandeln.

Voraussetzungen

  • Ein Linux-Server mit Ubuntu/Debian/CentOS/Alma Linux/Rocky Linux und mindestens 1 GB RAM.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.
  • Ein vollständig qualifizierter Domainname (FQDN) wie npm.example.com, der auf den Server zeigt.

Schritt 1 – Firewall konfigurieren

Cent OS/Rocky Linux/Alma Linux

Du solltest die Firewall Firewalld installiert haben. Überprüfe den Status der Firewall.

$ sudo firewall-cmd --state
running

Öffne die Ports 80, 81 und 443.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
$ sudo firewall-cmd --permanent --add-port=81/tcp

Lade die Firewall neu, um die Änderungen zu aktivieren.

$ sudo firewall-cmd --reload

Ubuntu/Debian

Ubuntu- und Debian-Systeme verwenden standardmäßig ufw (Uncomplicated Firewall).

Prüfe, ob die Firewall aktiv ist.

$ sudo ufw status

Wenn sie läuft, dann öffne die Ports 80, 81 und 443.

$ sudo ufw allow 80
$ sudo ufw allow 81
$ sudo ufw allow 443

Öffne den SSH-Port, wenn die Firewall nicht läuft.

$ sudo ufw allow "OpenSSH"

Aktiviere die Firewall, wenn sie nicht aktiv ist.

$ sudo ufw enable

Wenn sie läuft, lade sie neu, um die Änderungen zu übernehmen.

$ sudo ufw reload

Schritt 2 – Docker installieren

Cent OS/Rocky Linux/Alma Linux

Führe den folgenden Befehl aus, um Docker zu installieren.

$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce docker-ce-cli containerd.io

Ubuntu

$ sudo apt install ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io

Debian

$ sudo apt install ca-certificates curl gnupg lsb-release
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update
$ sudo apt install docker-ce docker-ce-cli containerd.io

Aktiviere und starte den Docker-Dienst.

$ sudo systemctl start docker --now

Füge deinen Benutzernamen zur Docker-Gruppe hinzu.

$ sudo usermod -aG docker $USER

Melde dich aus dem System ab und melde dich wieder an, um die Änderung zu übernehmen.

Schritt 3 – Docker Compose installieren

Lade die Docker Compose Binärdatei herunter und installiere sie.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Erteile der Binärdatei die Berechtigung zur Ausführung.

$ sudo chmod +x /usr/local/bin/docker-compose

Schritt 4 – Docker Compose-Datei erstellen

Erstelle ein Verzeichnis für den Nginx Proxy Manager.

$ mkdir ~/nginx-proxy

Wechsle in das Verzeichnis.

$ cd ~/nginx-proxy

Erstelle Verzeichnisse für Benutzerdaten und SSL-Zertifikate.

$ mkdir {data,letsencrypt}

Erstelle und öffne die Datei docker-compose.yml zum Bearbeiten.

$ nano docker-compose.yml

Füge den folgenden Code in die Datei ein.

version: "3"
services:
  npm-app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: npm-app
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "npm-db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment the line below if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - npm-db
    networks:
      - npm-nw
      - npm-internal

  npm-db:
    image: 'mariadb:latest'
    container_name: npm-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql
    networks:
      - npm-internal

networks:
  npm-internal:
  npm-nw:
    external: true

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Lass uns die Datei durchgehen. Im ersten Teil der Datei importieren wir das Image des Nginx-Proxy-Managers und setzen einige Umgebungsvariablen in Form von Datenbankanmeldedaten. Außerdem geben wir die Ports 80, 81 und 443 für den Zugriff auf den Server frei. Für den FTP-Zugang kannst du weitere Ports freigeben, z. B. 21. Du kannst die IPV6-Unterstützung deaktivieren, indem du die Zeile DISABLE_IPV6: 'true' auskommentierst. Wir haben mehrere Verzeichnisse von unserem Host auf den Docker gemappt, um Daten und SQL zu speichern.

Wir verwenden hier zwei Netzwerke. Das eine ist das interne Netzwerk npm-internal, um den Proxy Manager und die Datenbank zu verbinden. Dieses Netzwerk ist optional, da es automatisch erstellt wird. Aber hier tun wir es manuell, indem wir ihm einen Namen unserer Wahl geben.

Wir haben dem Proxy Manager Container ein externes Netzwerk namens npm-nw hinzugefügt. Dieses Netzwerk ist wichtig, denn damit kannst du den Proxy-Manager mit allen anderen Docker-Containern verbinden, die du installierst. Wenn du ein Netzwerk verwendest, kannst du jeden Container direkt verbinden, ohne seine Ports für den Server freigeben zu müssen.

Schritt 5 – Nginx Proxy Manager starten

Bevor wir den Docker-Container starten, müssen wir das externe Netzwerk npm-nw erstellen. Interne Netzwerke werden automatisch erstellt. Führe den folgenden Befehl aus, um das externe Netzwerk zu erstellen.

$ docker network create npm-nw

Starte den Docker-Container mit dem folgenden Befehl.

$ docker-compose up -d

Überprüfe den Status des Containers.

$ docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED              STATUS              PORTS                                                                                  NAMES
c91ca0ddca97   jc21/nginx-proxy-manager:latest   "/init"                  About a minute ago   Up About a minute   0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   npm-app
1738d71b95da   mariadb:latest                    "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp                                                                               npm-db

Schritt 6 – Zugriff auf den Nginx Proxy Manager

Du kannst nun über die URL http://yourserverIP:81 auf deinen Nginx Proxy Manager zugreifen. Du solltest den folgenden Anmeldebildschirm erhalten.

Nginx Proxy Manager Login Screen

Gib die folgenden Standard-Anmeldedaten ein, um dich anzumelden.

E-Mail Adresse: [email protected] Passwort: changeme

Als Nächstes wirst du sofort aufgefordert, einen Namen und eine E-Mail-Adresse anzugeben.

Nginx Proxy Manager Edit User Popup

Klicke auf die Schaltfläche Speichern und du wirst aufgefordert, ein neues Passwort festzulegen.

Nginx Proxy Manager Passwort setzen Popup

Klicke erneut auf die Schaltfläche “ Speichern“ und du kannst die Anwendung nun nutzen.

Nginx Proxy Manager Dashboard

Wenn du die URL http://yourserverIP in deinem Browser öffnest, gelangst du auf eine Standardseite, die der Proxy Manager eingestellt hat.

Nginx Proxy Manager Standardseite

Schritt 7 – Einrichten von Domainname und SSL für den Nginx Proxy Manager

Legen wir einen Domainnamen für den Zugriff auf den Nginx Proxy Manager fest. Dieser Schritt ist optional, aber nützlich, wenn du die Anwendung mit SSL verschlüsseln willst.

Klicke im Dashboard-Menü auf Hosts >> Proxy Hosts, um die Seite Proxy Hosts zu öffnen. Klicke dort auf die Schaltfläche Proxy-Host hinzufügen, um fortzufahren.

Nginx Proxy Manager Bildschirm Neuer Proxy-Host

Füge den FQDN-Namen (npm.example.com) hinzu und klicke ihn an. Gib die IP-Adresse deines Servers und 81 als Forward Port ein.

Wechsle zur Registerkarte SSL.

Nginx Proxy Manager Konfigurieren von SSL

Wähle die Option Neues SSL-Zertifikat anfordern aus dem Dropdown-Menü. Wähle die Optionen SSL- und HTTP/2-Unterstützung erzwingen. Wenn du HSTS aktivieren möchtest, kannst du das auch tun. Wenn du deine Domain über Cloudflare konfiguriert hast, darfst du die Option SSL er zwingen nicht aktivieren, da du sonst in einer Umleitungsschleife stecken bleibst.

Gib deine E-Mail-Adresse ein, stimme den Let’s Encrypt Terms of Service (TOS) zu und klicke zum Abschluss auf die Schaltfläche Speichern.

Nginx Proxy Manager Proxy Host Liste

Deine Domain sollte jetzt funktionieren. Wenn du https://npm.example.com in deinem Browser öffnest, solltest du den Anmeldebildschirm des Nginx Proxy Managers erhalten.

Du kannst dies in ähnlicher Weise für die Standard-Landingpage tun und ihr einen Domainnamen wie https://example.com zuweisen. Ändere beim Einrichten des Proxy-Hosts einfach den Port von 81 auf 81.

Schritt 8 – Nginx Proxy Manager mit einer anderen Docker-Webanwendung verwenden

Jetzt, wo wir den Proxy Manager installiert haben, ist es an der Zeit, ihn zu nutzen. Als Erstes werden wir ihn nutzen, um eine andere Docker-Webanwendung zu hosten. Zu diesem Zweck werden wir den Ghost Blog installieren. Wenn du mehr darüber erfahren möchtest, schau dir unser Tutorial zur Installation von Ghost mit Docker auf einem Ubuntu-Server an.

Erstelle ein weiteres Verzeichnis für deinen Ghost-Blog.

$ mkdir ~/ghost

Wechsle in das Ghost-Verzeichnis.

$ cd ~/ghost

Erstelle zwei Verzeichnisse für den Inhalt und die Datenbank.

$ mkdir {content,mysql}

Auch wenn du das gleiche MySQL-Image verwendest, solltest du die Daten und ihre Container von denen des Proxy-Managers getrennt halten. So kannst du eventuelle Probleme eingrenzen und die Daten bei Bedarf umlagern.

Erstelle und öffne die Docker Compose-Datei zum Bearbeiten.

$ nano docker-compose.yml

Füge den folgenden Code ein. Ersetze example.com durch deinen tatsächlichen Domainnamen für deinen Ghost-Blog. Gib die SMTP-Daten ein, wenn du E-Mails empfangen möchtest. Du kannst sie entfernen, wenn du sie nicht brauchst.

version: '3.3'
services:

  ghost-app:
    image: ghost:latest
    container_name: ghost-app
    restart: always
    depends_on:
      - ghost-db
    environment:
      url: https://ghost.example.com
      database__client: mysql
      database__connection__host: ghost-db
      database__connection__user: ghost
      database__connection__password: ghostdbpass
      database__connection__database: ghostdb
      mail__transport: SMTP
      mail__options__host: {Your Mail Service host}
      mail__options__port: {Your Mail Service port}
      mail__options__secureConnection: {true/false}
      mail__options__service: {Your Mail Service}
      mail__options__auth__user: {Your User Name}
      mail__options__auth__pass: {Your Password}
    volumes:
      - /home/<username>/ghost/content:/var/lib/ghost/content
    networks:
      - npm-nw
      - ghost-network

  ghost-db:
    image: mariadb:latest
    container_name: ghost-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_mysql_root_password
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghostdbpass
      MYSQL_DATABASE: ghostdb
    volumes:
      - /home/<username>/ghost/mysql:/var/lib/mysql
    networks:
      - ghost-network

networks:
  ghost-network:
  npm-nw: 
    external: true

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Wie du sehen kannst, haben wir den Ghost-Container mit dem Nginx-Proxy-Manager über das externe Netzwerk npm-nw verbunden. Auf diese Weise geben wir die Ports von Ghost nicht an das System weiter. Wir haben auch ein internes Netzwerk ghost-network verwendet, um unsere Ghost-App und den dazugehörigen Datenbank-Container zu verbinden.

Starten Sie den Container.

$ docker-compose up -d

Ghost im Nginx Proxy Manager konfigurieren

Jetzt müssen wir den Reverse Proxy für unsere Ghost-Installation einrichten. Öffne den Nginx Proxy Manager in deinem Browser, gehe zu Dashboard >> Hosts >> Proxy Host und füge einen neuen Proxy Host hinzu.

Ghost Blog Nginx Proxy Manager konfigurieren

Füge den Domainnamen hinzu, den du für deinen Ghost-Blog gewählt hast. Für den Wert Hostname/IP gibst du den Namen deines Containers ein. In diesem Fall wäre das ghost-app. Wir können hier nicht die IP-Adresse angeben, weil wir den Port von Ghost nicht für den Server freigegeben haben und der Nginx-Proxy Ghost nicht über die IP erreichen kann. Daher verwenden wir den Containernamen, auf den NPM über das Docker-Netzwerk npm-nw zugreifen kann, das wir erstellt haben. Verwende als Port 2368, den Standardport des Ghost Blogs. Überprüfe die anderen Optionen, wie auf dem Screenshot oben gezeigt.

Wechsle als Nächstes zum Reiter SSL und erstelle ein neues SSL-Zertifikat wie in Schritt 6 beschrieben. Da du Inhalte in deinen Ghost-Blog hochladen wirst, wäre es gut, eine maximale Upload-Größe für deine Uploads festzulegen.

Zum Glück kannst du mit NPM eigene Konfigurationen hinzufügen. Wechsle zur Registerkarte “ Erweitert“ und gib in das Feld client_max_body_size 50m; ein.

Ghost Blog NPM erweiterte Konfiguration

Klicke auf die Schaltfläche Speichern, um das Hinzufügen des Proxy-Hosts abzuschließen. Du solltest nun in der Lage sein, deinen Ghost-Blog über die folgende URL zu erreichen https://ghost.exampl.com

Ghost Blog Home

Schritt 9 – Nginx Proxy Manager als Redirect-Dienst verwenden

Sehen wir uns an, wie du NPM nutzen kannst, um eine Domain einfach auf eine andere umzuleiten. Gehe dazu auf Dashboard >> Hosts >> Redirection Hosts. Dort klickst du auf die Schaltfläche Umleitungshost hinzufügen, um loszulegen.

Nginx Proxy Manager Redirection Host

Gib den Domainnamen ein, den du weiterleiten möchtest. Und gib die Weiterleitungsdomain ein. Die Weiterleitungsdomain sollte bereits konfiguriert sein. Belasse das Schema auf auto. Je nach deinen Anforderungen kannst du http oder https wählen. Wähle den richtigen HTTP-Code und aktiviere die Optionen Pfad beibehalten und Common Exploits blockieren. Wenn du ein automatisches oder https-Schema verwendest, stelle sicher, dass du ein SSL-Zertifikat ausgewählt oder mit NPM erstellt hast. Klicke auf Speichern, um das Hinzufügen deines Umleitungshosts abzuschließen.

Deine Domain example.com sollte nun auf blog.example.com umgeleitet werden.

Andere Verwendungen des Nginx Proxy Managers

Es gibt zwei weitere Möglichkeiten, den Nginx Proxy Manager zu nutzen. Du kannst ihn als 404-Host verwenden, d.h. du kannst eine Domain als Landing Page verwenden, um den Suchmaschinen zu zeigen, dass die Seiten der Domain nicht existieren. Bei diesem Schritt musst du nur eine Domain eingeben und SSL für sie einrichten. Du kannst dies auch als Gelegenheit nutzen, die Logs für den Domainnamen zu verfolgen und den Referrer-Traffic zu sehen.

Die andere Funktion ist die Verwendung von NPM als Stream-Host. Mit dieser Funktion kannst du TCP/UDP-Ports an einen anderen Computer im Netzwerk weiterleiten. Das ist nützlich, wenn du Spieleserver hostest. Dazu musst du nur den eingehenden Port, die weiterleitende Domain oder IP-Adresse, den weiterleitenden Port und die Art des Ports angeben.

Nginx Proxy Manager Neuer Stream Host Popup

Nginx Proxy Manager zum Hosten einer statischen Website verwenden

Nginx Proxy Manager kann auch einfache statische oder dynamische Websites hosten. Dazu fügst du einen neuen Proxy-Host hinzu und wählst 127.0.0.1 als Weiterleitungsdomäne und 80 als Port.

Nginx Proxy Manager Statischer Website-Host

Auf der Registerkarte Erweitert gibst du die Konfiguration ein, in der du das Stammverzeichnis angibst. Vergewissere dich, dass das Stammverzeichnis für die Website in der anfänglichen Docker Compose-Konfiguration eingebunden ist. Hier verwenden wir das Verzeichnis /data/static, um unsere statische Website zu hosten.

Nginx Proxy Manager Statische Website Erweiterte Konfiguration

Klicke zum Abschluss auf Speichern und deine Website sollte zugänglich sein. Du kannst jede Art von Website mit dem Proxy Manager hosten.

Statische Website Demo Seite

Schritt 10 – Verschiedene Funktionen

Verwende die Zugriffskontrollfunktion des Nginx Proxy Managers

Du kannst die Zugriffslistenfunktion von NPM nutzen, um die HTTP-Authentifizierung zu aktivieren oder IP-Bereiche zu sperren. Öffne NPM und besuche die Seite Dashboard >> Zugriffslisten.

Klicke auf die Schaltfläche Zugriffsliste hinzufügen, um loszulegen.

Nginx Proxy Manager Neue Zugriffsliste

Du kannst deine Zugriffslisten(ACL)-Konfiguration benennen. Wenn du die Registerkarte Erfülle alle anklickst, wird der Zugriff erlaubt, wenn der Client eine der angegebenen Bedingungen erfüllt. Wenn ein Client die HTTP-Authentifizierung besteht, aber den IP-basierten Zugriff nicht zulässt, wird er zugelassen. Ist die Option Satisfy Any jedoch nicht markiert, muss der Client alle Bedingungen erfüllen.

Die Funktion Auth an Host weitergeben leitet die Authentifizierungsfunktion an den Hostserver weiter.

Als Nächstes wechselst du zur Registerkarte Autorisierung. Hier kannst du einen Benutzernamen und ein Passwort für die HTTP-Authentifizierungsmethode erstellen. Um mehr als einen Benutzer hinzuzufügen, klicke auf die Schaltfläche Hinzufügen. Du kannst nur bis zu 5 Benutzer hinzufügen. Außerdem gibt es einen Fehler bei der Schaltfläche Hinzufügen, also benutze erst die Schaltfläche und gib dann die Details ein. Wenn du die Details ausfüllst und später auf die Schaltfläche klickst, um einen weiteren Benutzer hinzuzufügen, werden die vorherigen Benutzerdaten gelöscht.

Nginx Proxy Manager Autorisierungseinstellung

Wechsle zur Registerkarte Zugriff. Hier kannst du einstellen, welchen IP-Adressen der Zugang gewährt oder verweigert werden soll.

Nginx Proxy Manager IP Access Tab

Klicke zum Abschluss auf Speichern.

Um diese Zugriffsliste zu verwenden, musst du sie beim Hinzufügen deines Proxy-Hosts auswählen. Wie im Beispiel für Ghost Blog unten haben wir unsere Zugriffsliste ausgewählt.

Nginx Proxy Manager Unterstützung von Proxy-Zugriffslisten

Unterstützung für weitere Domainnamen aktivieren

Wenn die Anzahl der Hosts und Domains wächst, kann es sein, dass deinem Nginx der Hash-Speicherplatz ausgeht oder es zu Speicherproblemen kommt. Wir können eine benutzerdefinierte Konfiguration hinzufügen, die für alle Hosts gilt, um dieses Problem zu lösen.

Erstelle dazu das Verzeichnis custom innerhalb von ~/nginx-proxy/data/nginx.

$ sudo mkdir ~/nginx-proxy/data/nginx/custom

Erstelle und öffne die Datei http.conf innerhalb dieses Verzeichnisses.

$ sudo nano ~/nginx-proxy/data/nginx/custom/http.conf

Füge die folgenden Zeilen in die Datei ein.

proxy_headers_hash_max_size 1024;
proxy_headers_hash_bucket_size 128;

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Nginx sollte diese Werte automatisch akzeptieren. Wenn das nicht der Fall ist, kannst du den NPM-Container mit dem folgenden Befehl neu starten.

$ docker restart npm-app

Standard Landing Page umleiten

In Schritt 6 siehst du die Standardseite, wenn du die URL http://<yourserverIP> eingibst. Wenn du das ändern möchtest, kannst du das tun. Besuche dazu die Seite Einstellungen. Klicke auf die drei Punkte auf der rechten Seite und dann auf die Schaltfläche Bearbeiten.

Nginx Proxy Manager Landing Page Bearbeiten

Du kannst die Landing Page so einstellen, dass sie als 404-Seite oder als Weiterleitungsseite fungiert, oder sie mit benutzerdefiniertem HTML versehen, indem du die Option Benutzerdefinierte Seite wählst. Wenn du Weiterleitung wählst, musst du die Ziel-URL angeben.

Nginx Proxy Manager Standard-Site-Einstellungen

Das ist das benutzerdefinierte HTML, das wir für unseren Zweck verwenden.

<!doctype html>
<html>
  <head>
    <title>Nothing Here</title>
    <meta charset="utf-8"/>
    <meta name="robots" content="noindex"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
      body { 
          text-align: center; 
          padding: 20px; 
          font: 20px Helvetica, sans-serif; 
          color: #333; 
        }
      @media (min-width: 768px){
          body{ padding-top: 150px; 
        }
      }
      h1 { 
          font-size: 50px; 
        }
      article { 
          display: block; 
          text-align: left; 
          max-width: 650px; 
          margin: 0 auto; 
        }
    </style>
  </head>
  <body>
    <article>
        <h1>Oops!</h1>
        <div>
            <p>Sorry for the inconvenience but you are not supposed to be here. You won't get anything here. This page was set for HowtoForge Nginx Proxy Manager Guide.  Maybe, someday it will show something.</p>
        </div>
    </article>
  </body>
</html>

Klicke zum Abschluss auf Speichern. Deine Landing Page sollte jetzt so aussehen wie die unten abgebildete.

Nginx Proxy Manager Benutzerdefinierte Landing Page

Schritt 11 – Nginx Proxy Manager aktualisieren

Um NPM zu aktualisieren, musst du zuerst die Container stoppen.

$ cd ~/nginx-proxy
$ docker-compose down --remove-orphans

Ziehe die neuesten Images.

$ docker-compose pull

Starte die Container erneut.

$ docker-compose up -d

Fazit

Damit ist unser Tutorium abgeschlossen. Du hast den Nginx Proxy Manager installiert und gelernt, wie du damit einen Proxy-Host für einen anderen Docker-Container hinzufügst, ihn als Umleitungsdienst verwendest und den Zugriff damit kontrollierst. Wenn du Fragen hast, schreibe sie unten in die Kommentare.

Das könnte dich auch interessieren …