☁️ Cloudflared und NPM

Sichere deine Webdienste mit Nginx Proxy Manager und Cloudflared. Profitiere von stabilen Verbindungen und Schutz vor wechselnden IPs ideal auch für Dual-Stack Lite!

📖 Einführung

Der Nginx-Proxy-Manager bietet eine benutzerfreundliche Oberfläche zur Verwaltung von Nginx-basierten Reverse-Proxies. In Verbindung mit Cloudflared, einem Dienstprogramm von Cloudflare, können zusätzliche Sicherheits- und Leistungsvorteile erzielt werden.

Cloudflared ermöglicht die Einrichtung von Cloudflare Tunnels, die eine sichere und verschlüsselte Verbindung zwischen deinem Webserver und den Servern von Cloudflare herstellen. Diese Tunnel leiten den Webverkehr über das weltweite Netzwerk von Cloudflare und bieten zusätzliche Sicherheits- und Leistungsvorteile.

✨ Vorteile

  • 🌍 Dual-Stack Lite (DS-Lite) DS-Lite kann die Bereitstellung von Webdiensten erschweren, da IPv4-Adressen durch IPv6-Adressen getunnelt werden. Cloudflare Tunnels bieten eine Lösung, da Cloudflare sowohl IPv4- als auch IPv6-Konnektivität unterstützt. Dadurch können Webdienste problemlos über beide Protokolle bereitgestellt werden.
  • 📱 Wechselnde IP-Adressen Wenn dein Internetanbieter regelmäßig die IP-Adresse ändert, kann dies die Erreichbarkeit deiner Webdienste beeinträchtigen. Cloudflare Tunnels bieten eine stabile Verbindung zu deinem Webserver, unabhängig von den sich ändernden IP-Adressen. Die IP-Adresse des Webservers wird für externe Benutzer unsichtbar gemacht.

🔗 Einrichtung und Verknüpfung

Um Cloudflared zu nutzen, benötigst du zunächst ein Konto bei Cloudflare. Sobald du dich bei Cloudflare registriert hast, kannst du die Cloudflare-Dienste, einschließlich Cloudflared, verwenden.

📋 Übersicht der Schritte

  1. Cloudflare-Konto Melde dich bei Cloudflare an oder erstelle ein neues Konto, falls du noch keines hast.
  2. Domain hinzufügen Füge die Domain, für die du Cloudflare Tunnels verwenden möchtest, zu deinem Cloudflare-Konto hinzu. Dies geschieht durch das ndern der Nameserver deiner Domain, um Cloudflare als DNS-Provider zu verwenden.

🛠️ Installation des Cloudflare Tunnels

1. Tunnel erstellen

  1. Gehe zum Cloudflare Zero Trust Dashboard: Networks  Tunnels  Create a Tunnel
  2. Gib dem Tunnel einen beliebigen Namen (der Name ist nicht entscheidend).
  3. Im Abschnitt Install and run a connector findest du die Anweisungen zur Installation von Cloudflared. Befolge die dort bereitgestellten Schritte:
    • Laden der Cloudflared-Binärdatei für dein Betriebssystem
    • Einrichtung des Verzeichnisses und Hinzufügen der Datei
    • Konfiguration des Daemons

2. Tunnel starten

Verwende das folgende Kommando, um den Tunnel mit dem Token zu starten:

cloudflared tunnel --no-autoupdate run <Tunnel-Name>

🤝 Nginx Proxy Manager und den Tunnel verknüpfen

Der NPM sollte bereits installiert und die Grundeinrichtung abgeschlossen sein. Sollte dies nicht der Fall sein, schlie xt dies bitte erst ab.

Um Nginx Proxy Manager mit den internen Diensten zu verknüpfen, müssen wir die Hostname (Containernamen) der Dienste nehmen, um Nginx Proxy Manager die entsprechende Domain dorthin weiterleiten zu lassen.

Cloudflare Tunnel mit NPM verknüpfen

Gehe in der Tunnel-Konfiguration zu Public Hostname  Add a public hostname:

Feld Wert
Subdomainleer lassen
Domaindeine Domain
Pfadleer lassen
Service TypeHTTP
URLIP des lokalen Hostsystems, z.B. 192.168.2.222:80

Wiederhole den Schritt für die Subdomain *.

Reihenfolge und Private Netzwerke

  • Reihenfolge sicherstellen Stelle sicher, dass der öffentliche Hostname ohne * ganz oben steht.
  • Private Netzwerke hinzufügen In der Tunnel-Konfiguration füge unter Private Network die Docker-Netzwerkadresse hinzu, z.B. 172.16.0.0/16, um den Zugriff auf das interne Nginx-Proxy Netzwerk zu ermöglichen.

🌍 DNS-Einstellungen für Wildcard-Tunnel

Wildcard-DNS konfigurieren

Gehe zu den Cloudflare DNS-Einträgen und füge einen Eintrag hinzu:

Feld Wert
TypCNAME
Name*
Ziel<deine-tunnel-id>.cfargotunnel.com
Proxiedtrue

CNAME für deine Domain

Stelle sicher, dass ein CNAME für deine Domain vorhanden ist:

Feld Wert
TypCNAME
Name<dein-domain-name>
Zielidentisch wie im vorherigen Schritt
Proxiedtrue

🔒 Wildcard-SSL-Zertifikat konfigurieren

1. Cloudflare API-Token erstellen

Erstelle ein Cloudflare API-Token, indem du zu Profile  API Tokens  Create Token gehst und die Vorlage Edit zone DNS verwendest. Speichere das Token sicher.

2. SSL-Zertifikat im Nginx Proxy Manager einrichten

  1. Gehe zu SSL Certificates  Add SSL Certificate.
  2. Wähle Let's Encrypt und gib als Domain *.yourdomain.com ein.
  3. Aktiviere Use a DNS Challenge und setze den DNS Provider auf Cloudflare.
  4. Verwende das zuvor erstellte API-Token, um das Zertifikat zu erstellen.

➕ Hosts hinzufügen

Hosts konfigurieren

  • Gib die vollständigen Domain-Namen ein (z.B. hello.your-domain.name)
  • Scheme: HTTP
  • Forward Hostname: Der Hostname des Containers (Containernamen)

🔄 Automatische Erneuerung des SSL-Zertifikats

Der Nginx Proxy Manager erneuert das Zertifikat automatisch, sodass du dir keine Sorgen machen musst. Dein System wird über den Cloudflare Tunnel zugänglich sein, egal wo du es betreibst.

S& Deine Webdienste sind nun sicher über Cloudflare Tunnels erreichbar geschützt und stabil!

← Vorherige Seite Hauptseite