Nginx-Proxy-Manager: Leichtgewichtiger Reverse-Proxy 🌍
Tags: reverseproxy, homelab, dns, webserver
Published: 2024-07-13 18:00:15

![](https://blog.disane.dev/content/images/2024/06/nginx_proxy-manager-der-leichtgewichtige-reverse-proxy_banner.jpeg)Erfahre, wie Du Nginx Proxy Manager mit Docker installierst und als Reverse Proxy für HTTP, HTTPS und UDP einrichtest! 🌍

---

Der Nginx Proxy Manager (NPM) ist ein leistungsstarkes und benutzerfreundliches Tool zur Verwaltung von Reverse-Proxy-Konfigurationen. Er vereinfacht den Prozess der Einrichtung eines Reverse-Proxys und ermöglicht es Dir, mehrere Anwendungen von einer einzigen Oberfläche aus zu verwalten. In diesem Artikel erfährst Du, wie Du den Nginx Proxy Manager mit Docker installierst, wie er als Reverse-Proxy funktioniert und welche Vorteile er gegenüber einer traditionellen Netzwerkkonfiguration bietet.

## Warum Nginx Proxy Manager verwenden? 🤔

Der Nginx Proxy Manager erleichtert die Verwaltung von Webservern und SSL-Zertifikaten und bietet eine intuitive Weboberfläche zur Konfiguration von Nginx-Reverse-Proxys. Hier sind einige seiner herausragenden Funktionen:

* **HTTP- und HTTPS-Unterstützung**: Einfaches Konfigurieren von HTTP- und HTTPS-Sites.
* **Let's Encrypt Integration**: Automatische Verwaltung von SSL-Zertifikaten.
* **UDP-Weiterleitungen**: Unterstützung für UDP-Weiterleitungen neben den traditionellen TCP-Weiterleitungen.

## Installation des Nginx Proxy Managers mit Docker 🐳

Die Installation des Nginx Proxy Managers mit Docker ist einfach und schnell. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du Nginx Proxy Manager auf Deinem Server einrichtest:

### Vorbereitung

Stelle sicher, dass Docker auf Deinem System installiert ist. Falls nicht, kannst Du Docker über die offiziellen Docker-Installationsanleitungen installieren.

### Docker-Compose Datei erstellen

Erstelle eine `docker-compose.yml` Datei mit folgendem Inhalt:

```yaml
version: '3'
services:
  npm:
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    environment:
      DB_SQLITE_FILE: "/data/database.sqlite"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

```

### Container starten

Führe folgende Befehle aus, um den Container zu starten:

```bash
mkdir -p data letsencrypt
docker-compose up -d

```

Das war's! Nginx Proxy Manager läuft nun auf Deinem Server und ist über die IP-Adresse Deines Servers auf Port 81 erreichbar.

## Wie funktioniert ein Reverse Proxy? 🛠️

Ein Reverse Proxy ist ein Server, der Anfragen von Clients entgegennimmt und sie an einen oder mehrere Backend-Server weiterleitet. Er fungiert als Vermittler zwischen den Clients und den Servern, die die eigentlichen Inhalte bereitstellen. Hier ist ein einfaches Diagramm, das die Funktionsweise eines Reverse Proxys zeigt:

![](https://blog.disane.dev/content/images/2024/06/image-10.png)

### Vergleich mit einem Netzwerk ohne Reverse Proxy

**Ohne Reverse Proxy**:

* Jede Anwendung muss auf einem separaten Port oder einer separaten Subdomain laufen.
* Verwaltung von SSL-Zertifikaten für jede Anwendung ist komplex und zeitaufwändig.
* Skalierbarkeit und Lastverteilung sind schwieriger zu handhaben.

**Mit Reverse Proxy**:

* Alle Anfragen werden über einen zentralen Punkt verwaltet.
* SSL-Zertifikate können zentral verwaltet und automatisch erneuert werden.
* Einfachere Skalierung und Lastverteilung der Backend-Server.

## Integration in Dein Netzwerk 🌐

Um den Nginx Proxy Manager in Dein Netzwerk zu integrieren, musst Du die DNS-Einstellungen und die Weiterleitungsregeln konfigurieren.

### DNS-Konfiguration

Konfiguriere die DNS-Einträge Deiner Domain so, dass sie auf die IP-Adresse des Servers zeigen, auf dem der Nginx Proxy Manager läuft. Dies kann über Deinen Domain-Registrar oder Deinen internen DNS-Server erfolgen. Dies kann auch z.B. dein AdGuard Home aus diesem Artikel sein

<https://blog.disane.dev/adguard-home-ad-blocker-fur-alle-gerate-im-netzwerk>

### Weiterleitungsregeln einrichten

Melde Dich bei der Weboberfläche des Nginx Proxy Managers an und richte Weiterleitungsregeln für Deine Anwendungen ein. Du kannst HTTP- und HTTPS-Weiterleitungen sowie UDP-Weiterleitungen konfigurieren.

## HTTPS-Unterstützung mit Let's Encrypt 🔒

Der Nginx Proxy Manager unterstützt die automatische Verwaltung von SSL-Zertifikaten über Let's Encrypt. Du kannst SSL-Zertifikate einfach über die Weboberfläche einrichten und verwalten.

### Vorteile eines Reverse Proxys

* **Sicherheitsverbesserung**: Durch die zentrale Verwaltung von SSL-Zertifikaten und die Möglichkeit, nur notwendige Ports freizugeben.
* **Einfachere Verwaltung**: Alle Anwendungen können von einer einzigen Oberfläche aus verwaltet werden.
* **Leistungsverbesserung**: Durch Caching und Lastverteilung können die Backend-Server effizienter genutzt werden.

## Fazit 🎉

Der Nginx Proxy Manager ist ein leistungsstarkes und benutzerfreundliches Tool zur Verwaltung von Reverse-Proxies. Mit Funktionen wie HTTPS-Unterstützung, Let's Encrypt-Integration und UDP-Weiterleitungen bietet er eine umfassende Lösung für die Verwaltung von Webanwendungen.

### Verweise auf andere Artikel 📚

Interessierst Du Dich dafür, wie Du interne Dienste mit SSL sichern kannst? Schau Dir diesen Artikel an 👇🏼

[Interne Services mit externer DNS-Wildcard erreichen![Preview image](https://blog.disane.dev/content/images/2023/11/interne_services-mit-dns-wildcards-erreichen-und-https-absichern_banner-2.jpeg)In dem Artikel zeige ich dir, wie du es hinbekommst, deine internen Dienste, sowohl von extern als auch intern, mit (Sub-)Domains und HTTPS zu erreichen 🎉](https://blog.disane.dev/interne-services-mit-dns-wildcards-erreichen-und-https-absichern/)

---

If you like my posts, it would be nice if you follow my [Blog](https://blog.disane.dev) for more tech stuff.