Nginx Proxy Manager: HTTPS-Konfiguration und Fehlerbehebung für lokale Dienste

enf.GuAnDi

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
504
Hallo Computerbase-Mitglieder,
ich benötige eure Hilfe bei der Einrichtung von HTTPS für verschiedene Dienste in meinem Heimnetzwerk. Trotz intensiver Recherche und mehrerer Versuche stoße ich auf Schwierigkeiten. Hier ist eine Übersicht meiner Netzwerkstruktur und des Problems:

Netzwerkaufbau​

  • Internetzugang: FritzBox 5590
  • PiHole auf Raspberry Pi 4
  • QNAP NAS TS-473A (zwei Netzwerkschnittstellen)
    • Home Assistant OS in VM
    • Docker-Container: Nginx Proxy Manager, Heimdall, Firefly3, Paperless, Jellyfin, Calibre, Snowflake, etc.
  • Diverse Endgeräte (PCs, Android- und iOS-Geräte, TV, Alexa)

Ziel​

Ich möchte einen alten Radio mit Assistant (Home Assistant Sprachassistent) ausstatten, um eine Alternative zu Alexa zu haben. Dafür benötige ich HTTPS-Zugriff auf Home Assistant, ohne Ports im Router zu öffnen, da ich einen VPN für den Heimzugriff nutze.

Aktueller Stand​

  1. Nginx Proxy Manager läuft als Docker-Container im Bridge-Netzwerk mit statischer lokaler IP.
  2. Letsencrypt-Zertifikat für meine Domain (beispiel.de) in NPM eingerichtet.
  3. Subdomain heimdall.beispiel.de als Test konfiguriert.
  4. Proxy Host in NPM für heimdall.beispiel.de erstellt (HTTPS, Docker-IP/lokale IP, Port).
  5. PiHole-Konfiguration:
    • CNAME-Record: heimdall.local → heimdall.beispiel.de
    • DNS-Record: heimdall.beispiel.de → lokale IP von Nginx

Problem​

Beim Aufruf von heimdall.beispiel.de:Port erscheint die Meldung "Website nicht erreichbar". Dies tritt bei verschiedenen Diensten im Netzwerk auf.Ich wäre sehr dankbar für eure Unterstützung bei der Lösung dieses Problems. Hat jemand Erfahrung mit einer ähnlichen Konfiguration oder Ideen, was ich überprüfen oder ändern könnte?

Vielen Dank im Voraus für eure Hilfe!
 
Trage die Records doch auch in deiner Fritzbox einr bzw. deaktiviere den DNS Rebindschutz deiner Fritzbox. Ich gehe davon aus, dass die ja der DNS für deine Clients ist. Ansonsten mal von Hand am Client den DNS auf das Pihole setzen und nochmals prüfen.
 
  • Gefällt mir
Reaktionen: HtOW und JumpingCat
Ich habe das gerade noch mal geprüft.
Bei meinen Clients ist als DNS Server mein PiHole eingetragen. Wenn ich aber zu Testzwecken nslookup heimdall.beispiel.de eingebe kommt als Server: fritz.box?!?!
Wie kann das denn sein?
Welche Einstellungen muss ich machen das auch wirklich PiHole als DNS Server dient?
Aktuelle Einstellungen in Netzwerk/Metzwerkeinstellung IPV4/IPV6 DNS Server -> PiHole, Internet/Zugangsdaten/DNS Server - Bevorzugter & Alternativer DNS Server -> Pihole.

Gibts noch mehr stellen an denen ich das eintragen muss?
Ergänzung ()

prayhe schrieb:
DNS-Rebindschutz könnte tatsächlich der Übeltäter sein. Findet sich hier:
https://avm.de/service/wissensdaten...re-Anfrage-aus-Sicherheitsgrunden-abgewiesen/
Meine ich hab bei mir sogar einfach nur *.meinedomain.de eingetragen, damit sollte deine Ganze Domain erlaubt sein
Das könnte natürlich ein/der Grund sein. Ich werde das gleich mal testen.
Vielen Dank für den Hinweis.
 
Ich musste bei mir für die einzelnen local services im pi-hole noch CNAME Einträge erstellen, da ich sonst auf manchen Geräten Probleme mit der DNS Auflösung hatte. Wobei das glaube ich auf Geräte die IPv6 zur DNS Auflösung verwenden beschränkt war. Ich muss mir das irgendwann nochmal ansehen.

Ist also vermutlich nicht generell notwendig (sondern meiner fehlerhaften Konfig geschuldet), aber ich dachte ich erwähne es mal.

Welche Einstellungen muss ich machen das auch wirklich PiHole als DNS Server dient?
Entweder man gibt der FritzBox den pi-hole als upstream Server unter "Internet>Zugangsdaten>DNS-Server", dann fragt die FritzBox beim pi-hole die DNS Einträge ab und verteilt diese an die Geräte. Oder man verteilt den pi-hole als DNS server direkt per DHCP an die Geräte im Heimnetz "Heimnetz>Netzwerk>Netzwerkeinstellungen>IPv4/IPv6-Einstellungen". Dann fragen die Geräte direkt beim pi-hole an. Ich benutze die zweite Variante, da dann in den pi-hole Statistiken die Abfragen nach Gerät aufgeschlüsselt sind. Ansonsten werden alle Anfragen unter der FritzBox zusammengefasst.
 
Zuletzt bearbeitet:
SpartanerTom schrieb:
Entweder man gibt der FritzBox den pi-hole als upstream Server unter "Internet>Zugangsdaten>DNS-Server", dann fragt die FritzBox beim pi-hole die DNS Einträge ab und verteilt diese an die Geräte. Oder man verteilt den pi-hole als DNS server direkt per DHCP an die Geräte im Heimnetz "Heimnetz>Netzwerk>Netzwerkeinstellungen>IPv4/IPv6-Einstellungen". Dann fragen die Geräte direkt beim pi-hole an. Ich benutze die zweite Variante, da dann in den pi-hole Statistiken die Abfragen nach Gerät aufgeschlüsselt sind. Ansonsten werden alle Anfragen unter der FritzBox zusammengefasst.
Ich habe bei mir beides eingerichtet.

prayhe schrieb:
DNS-Rebindschutz könnte tatsächlich der Übeltäter sein. Findet sich hier:
https://avm.de/service/wissensdaten...re-Anfrage-aus-Sicherheitsgrunden-abgewiesen/
Meine ich hab bei mir sogar einfach nur *.meinedomain.de eingetragen, damit sollte deine Ganze Domain erlaubt sein
Habe den Eintrag gemacht. Die Wildcard hat leider nicht ausgereicht. Ich muss scheinbar alle einzelnen Domains eintragen. Vielen Dank für den Tipp!

Sooo. Nun bin ich in meiner Problemkette einen Schritt weiter.
Jetzt erhalte ich einen 502 von Nginx 😭
Wie sollten den die Einstellungen dort aussehen?

Fehler gefunden. Es darf wohl nicht die interne Docker IP sein :daumen:
 
Hier noch ein kleines Update zum FritzBox Rebind Schutz.
Ich dachte es ist schlau meine Einträge mit einem Komma zu trennen. Lasst das bleiben :skull_alt:
In der Anleitung ist ganz unten genau zu sehen, dass die Einträge sich lediglich in einer neuen Zeile befinden ohne Sonderzeichen. Dann funktioniert auch das Eintragen einer Wildcarddomain 👍
 
Ich schon wieder :)
Wenn ich meinen Browser öffne und eine Netzinterne Adresse aufrufe benötigt das öffnen der Seite über 20sec! Wenn ich diese dann schließe und wieder aufrufe geht das dann ohne eine Verzögerung.
Wie kann ich denn den ersten Abruf eines Zertifikats durch den Browser beschleunigen? Kann ich da im Nginx PM etwas anpassen? Woran könnte das liegen? Wie könnte ich herausfinden woran das liegt - gibts da Tools?
 
Eine erste Idee wäre nachzusehen, wie lange die eigentliche Namensauflösung dauert. Unter Windows müsste das theoretisch über die Powershell so gehen

PowerShell:
Measure-Command { nslookup <URL> }
 
Die Antwort wäre hier für http alle meine Seiten ~2sec und https ~4sec. Was für mich völlig ok wäre. Warum dauert der erste Aufbau im Browser Chrome, Firefox & Edge so lange +-20sec?
 
Nur falls jemand ein ähnliches Setup hat und versucht Nginx mit Home Assistant zu betreiben - Man muss im Nginx Proxy Host die Einstellung "Websocket Support" aktivieren damit man sich anmelden kann.

Bleibt nur noch die lange Ladezeit beim ersten öffnen eines Dienstes mit https.
Ergänzung ()

1737712280940.png

Ich hab das mal mit den Chrome dev Tools aufgezeichnet.
In dem Beispiel hat der komplette Aufbau 11.23sec gedauert.
Das Abrufen und die Verbindung 11.07sec! Woran könnte das liegen?
 
Zuletzt bearbeitet:
Good point! Danke dir.

Hier mein Pihole Log:
Jan 24 19:15:00 dnsmasq[28054]: query[A] heimdall.beispiel.de from 192.168.xxx.1
Jan 24 19:15:00 dnsmasq[28054]: /etc/pihole/custom.list heimdall.beispiel.de is 192.168.xxx.2
Jan 24 19:15:02 dnsmasq[28054]: query[AAAA] heimdall.beispiel.de from 192.168.xxx.1
Jan 24 19:15:02 dnsmasq[28054]: Maximum number of concurrent DNS queries reached (max: 150)
Jan 24 19:15:02 dnsmasq[28054]: config error is REFUSED
Jan 24 19:15:02 dnsmasq[28054]: query[AAAA] heimdall.beispiel.de from 192.168.xxx.3
Jan 24 19:15:02 dnsmasq[28054]: forwarded heimdall.beispiel.de to 192.168.xxx.1
Jan 24 19:15:02 dnsmasq[28054]: query[AAAA] heimdall.beispiel.de from 192.168.xxx.1
Jan 24 19:15:02 dnsmasq[28054]: config error is REFUSED
Jan 24 19:15:02 dnsmasq[28054]: query[AAAA] heimdall.beispiel.de from 192.168.xxx.1
Jan 24 19:15:02 dnsmasq[28054]: config error is REFUSED

Hier scheint definitiv was schief zu laufen. Aber was könnte ich da falsch eingestellt haben?
 
Zurück
Oben