Probleme mit SSL-Zertifikaten für lokale Domains

Arjab

Lt. Junior Grade
Registriert
Feb. 2013
Beiträge
474
Also, ich habe folgender Anleitung von Wolfgang gefolgt, um mit mit einer Domain von DuckDNS und einem Reverse Proxy SSL-Zertifikate für lokale Domains in meinem Heimnetzwerk zu erstellen. Leider funktioniert die Auflösung der Domains nicht.

Kurz zu meinem Setup: Ich habe einen Server zu Hause stehen, auf dem Proxmox läuft und darauf wiederum eine virtuelle Maschine mit Debian, auf der Docker läuft und ein Dutzend Dienste wie z. B. Jellyfin. Ich habe außerdem einen virtuellen Server bei Hetzner, der über einen WireGuard-Tunnel mit dem Proxmox-Host verbunden ist und mir eine öffentliche IPv4 für mein Heimnetzwerk zur Verfügung stellt.
Auf dem vServer läuft dazu Nginx Proxy Manager, der über meine primäre Domain beispiel.de Zugang aus dem Internet auf meine selbst gehosteten Dienste bietet. Ich kann z. B. über cloud.beispiel.de auf meine Nextcloud zugreifen, die auf meinem Raspberry Pi 4 läuft.

Jetzt möchte ich wie gesagt zusätzlich lokale Domains nutzen, die mir eine Verbindung mit HTTPS auf meine lokalen Weboberflächen von z. B. Proxmox oder Portainer ermöglichen. Dazu habe ich mir eine Domain bei DuckDNS erstellt, sagen wir beispiel.duckdns.org, die auf die lokale IP von dem Ngnix Proxy Manager zeigt (die gleiche lokale IP, wie die von meinem Proxmox, weil auf dem ja WireGuard läuft und der Tunnel zum vServer). Dann habe ich ein Wildcard-Zertifikat mit DNS-Challenge und dem Token von DuckNDS über den Nginx Proxy Manager erstellt (also für beispiel.duckdns.org und *.beispiel.duckdns.org).
Schließlich habe ich einzelne Dienste als Proxy Hosts hinzugegügt, also z. B. dass proxmox.beispiel.duckdns.org auf die lokale IPv4 meiner Proxmox-Installation zeigt (z. B. 192.168.178.123:8006). Wenn ich jetzt https://proxmox.beispiel.duckdns.org in meinem Browser eingebe, sollte ich einfach auf die Weboberfläche meines Proxmox gelangen, stattdessen bekomme ich schlicht eine Fehlermeldung meines Browsers ("Hmm. We’re having trouble finding that site."). Das gleiche passiert auch bei anderen lokalen Diensten bzw. Geräten.

Nun habe ich recherchiert (und ChatGPT) befragt und das Problem liegt wahrscheinlich daran, dass ich Pi-hole und Unbound als lokalen DNS-Server benutze. Die vermeintliche Lösung, die ich bisher gefunden habe ist, dass ich in der Konfigurationsdatei von Unbound die entsprechenden Domains und IP-Adressen der Dienste und Geräte eintrage [Abschnitt in der Arch Wiki dazu].
Da habe ich jetzt folgendes eingetragen:

Code:
server:
    local-zone: "beispiel.duckdns.org." static
    local-data: "beispiel.duckdns.org. IN A 192.168.178.123"

    local-zone: "proxmox.beispiel.duckdns.org." static
    local-data: "proxmox.beispiel.duckdns.org. IN A 192.168.178.123"

Auch nslookup zeigt, dass die Domains auf die richtigen IPs verweisen aber trotzdem lösen die Domains im Browser nicht richtig auf und ich bin ein bisschen lost. Hat jemand eine Idee, woran das liegen könnte?
 
habe im grunde das gleiche setup zuhause: beispiel.de zeigt auf die heimische ip, in einer vm auf proxmox laufen letsencrypt+nginx als reverse-proxy, dazu dann pihole (ohne unbound) mit einträgen für die lokalen ips.

was sagt denn z.b. curl statt eines browsers? kommt da vielleicht eine brauchbare meldung?
 
und proxmox.beispiel.duckdns.org löst auf deine interne ip auf und ist port 80 auch offen? keine firewall, lauscht da der nginx auf port 80 bzw. wird der port in einen docker mit dem npm geleitet?
 
Ah, nmap sagt nein!

Code:
nmap -p 80 proxmox.beispiel.duckdns.org
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-01 18:57 CET
Nmap scan report for proxmox.beispiel.duckdns.org (192.168.178.123)
Host is up (0.0011s latency).

PORT   STATE  SERVICE
80/tcp closed http

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

Das heißt ich muss meinen Proxmox so konfigurieren, dass der Port 80 öffnet, richtig? Wenn ja, wie mache ich das am besten?
 
Zuletzt bearbeitet:
Ich hab's mir jetzt einfacher gemacht und auf meinem Server im Heimnetzwerk einfach einen zweiten Nginx Proxy Manager installiert, der nur lokale Domains auflösen soll. Das hat soweit auch funktioniert, aber nur für Dienste auf dem gleichen Gerät. Ich kann z. B. eine Domain für meinen Portainer-Host einrichten, die richtig aufgelöst wird, aber nicht für meinen Proxmox, auf dem eine VM läuft, in der wiederum Docker und schließlich auch Portainer läuft. Aber auch Domains für andere Geräte in meinen Heimnetzwerk lösen nicht korrekt auf. Woran könnte das liegen?

Ich hab' nochmal rumprobiert und z. B. proxmox.beispiel.duckdns.org zeigt auf https://192.168.178.123:8006. Wenn ich https://proxmox.beispiel.duckdns.org im Browser öffne, steht da "Unable to connect". Wenn ich aber https://proxmox.beispiel.duckdns.org:8006 im Browser öffne, öffnet der das WebUI.
Beim Pi-hole ist es ähnlich, https://pihole.beispiel.duckdns.org verweist auf http://192.168.178.456:80 und löst im Browser nicht auf. Wenn ich aber http://pihole.beispiel.duckdns.org (ohne "s") im Browser eingebe, werde ich an das ungesicherte WebUI weitergeleitet und die IP in der Adressleiste angezeigt.
 
Meinst du die Ports sind unerheblich?
Ich verstehe irgendwie nicht, wieso der Nginx problemlos Domains auflöst, die auf Dienste zeigen, die auf dem gleichen Gerät laufen, aber alle anderen Geräte in meinem Netzwerk funktionieren irgendwie nicht.

EDIT: Vor allem mit meiner richtigen Domain, die aus dem Internet erreichbar ist und dem NPM auf meinem vServer kann ich auch problemlos Domains auf alle lokalen Dienste einrichten. Es scheint also nicht an den Geräten zu liegen, sondern an NPM.

EDIT #2: Ich hab's gerade nochmal ausprobiert, mit meiner öffentlichen Domain und der NPM-Installation auf dem vServer kann ich einwandfrei auf das WebGUI des Proxmox auflösen. Nur lokal irgendwie nicht.

EDIT #3: Ich bin ein Idiot, ich hätte der Konfigdatei für unbound alle IPs auf den NPM setzen müssen, nicht auf die IPs der Dienste. Also im Falle von Proxmox nicht die IP vom Proxmox, sondern auch vom NPM - Denkfehler.
 
Zuletzt bearbeitet:
Zurück
Oben