Anleitung zur Konfiguration von Cloudflare Tunnel Reverse Proxy mit cloudflared in ServBay
Cloudflare Tunnel (ehemals Argo Tunnel) ist ein Zero-Trust-Reverse-Proxy-Dienst von Cloudflare, der es ermöglicht, lokale Dienste sicher zu exponieren, ohne öffentliche Ports zu öffnen. Diese Anleitung zeigt Ihnen, wie Sie in der ServBay-Umgebung mit cloudflared einen sicheren Tunnel einrichten, um den Internetzugang für lokale Dienste zu ermöglichen.
Technische Grundlagen
Cloudflare Tunnel stellt eine sichere Verbindung zu den Edge-Servern von Cloudflare her, indem es eine verschlüsselte ausgehende Verbindung (basierend auf dem QUIC-Protokoll) erstellt. Diese Lösung umgeht vollständig NAT-Penetration, erfordert keine Firewall-Konfiguration und integriert Cloudflares DDoS-Schutz- und Web Application Firewall (WAF) Funktionen.
Vorbereitung der Umgebung
1. Installation des cloudflared Clients
macOS-System (ARM-Architektur):
# Binärdatei herunterladen
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-darwin-amd64.tgz | tar xz
sudo mv cloudflared /usr/local/bin/
2
3
Installation überprüfen:
cloudflared --version
# cloudflared version 2024.5.0 (built 2024-05-01)
2
2. Anmeldung im Cloudflare-Konto
cloudflared tunnel login
Nach der Ausführung öffnet sich automatisch der Browser, in dem Sie die zu verwaltende Domain auswählen und die Autorisierung abschließen.
Tunnelkonfiguration
Kernkonfigurationsprozess
- Tunnel erstellen
cloudflared tunnel create servbay-tunnel
# Beispielausgabe: Created tunnel servbay-tunnel with id xxxx-xxxx-xxxx
2
- DNS-Eintrag konfigurieren
cloudflared tunnel route dns servbay-tunnel servbay-tunnel.yourdomain.com
- Konfigurationsdatei erstellen
Erstellen Sie~/.cloudflared/config.yml
:
tunnel: <TUNNEL_ID>
credentials-file: /path/to/credentials.json
ingress:
- hostname: servbay-tunnel.yourdomain.com
service: https://servbay.local
originRequest:
noTLSVerify: true # Aktivieren, um lokale Zertifikatsüberprüfung zu umgehen
- service: http_status:404 # Standard-Fallback-Regel
2
3
4
5
6
7
8
9
Tunnel-Service starten
cloudflared tunnel run servbay-tunnel
Service-Validierung
- Greifen Sie auf die konfigurierte Domain zu:
https://servbay-tunnel.yourdomain.com
- Validierungspunkte:
- Inhalte sollten mit den lokalen Diensten übereinstimmen
- Die Adresszeile des Browsers zeigt ein gültiges SSL-Zertifikat von Cloudflare an
- Die Antwortheader enthalten die
CF-RAY
-Kennung
Fortgeschrittene Konfigurationstipps
Mehrdienst-Routing
ingress:
- hostname: api.yourdomain.com
service: https://api.local
- hostname: app.yourdomain.com
service: https://app.local
2
3
4
5
Verkehrsüberwachung
# Echtzeit-Metriken anzeigen
cloudflared tunnel info servbay-tunnel
# Detaillierte Protokolle abrufen
cloudflared tunnel logs servbay-tunnel
2
3
4
5
Fehlerbehebung
Erscheinung | Lösung |
---|---|
502 Bad Gateway | Überprüfen Sie, ob der lokale Dienst läuft und ob die service-Adresse in der Tunnelkonfiguration korrekt ist. |
DNS-Fehler | Bestätigen Sie, dass der CNAME-Eintrag korrekt auf <UUID>.cfargotunnel.com zeigt. |
Zertifikatsüberprüfung fehlgeschlagen | Stellen Sie sicher, dass hostname in config.yml mit dem Zertifikat-Domain übereinstimmt, und überprüfen Sie die lokale Zertifikatskette auf Vollständigkeit. |
Vorteile der Lösung
Mit der Cloudflare Tunnel-Lösung profitieren ServBay-Benutzer von:
- Unternehmenssicherheit: Integrierter DDoS-Schutz und WAF-Schutz
- Keine Port-Exposition: Keine Firewall- oder NAT-Regeln erforderlich
- Intelligentes Routing: Optimierte Geschwindigkeit durch das globale Anycast-Netzwerk von Cloudflare
- Kostenloses Kontingent: Der kostenlose Tarif umfasst bis zu 50 aktive Tunnel pro Monat
Es wird empfohlen, in Produktivumgebungen mit Access-Strategien eine feingranulare Zugriffskontrolle einzuführen, um die Sicherheit der Dienste zu gewährleisten.