Nginx Proxy Manager lokale Zertifikate?

1 Antwort

aber kann ich irgendwie ein Zertifikat für einen Lokalen zugriff erstellen

Ja, wenn du die Domain besitzt und im NPM die Überprüfung per DNS erledigst, kannst du auch für lokale Subdomains Zertifikate erstellen

Beispiel:

Ich habe eine Domain, hier nenn ich sie jetzt einfach mal example.com - diese verwalte ich über Cloudflare.

Ich nutze Unbound als DNS-Dienst und habe dort z.B. als DNS-Override für die Subdomains "nginx.int.example.com" und "portainer.int.example.com die lokale IP 192.168.42.30 angegeben. Wenn also eines meiner Geräte im lokalen Netzwerk über meinen DNS-Server nginx.int.example.com oder portainer.int.example.com anfragt, wird eben 192.168.42.30 geantwortet. Auf 192.168.42.30 läuft - wie die Namen der Subsubdomains schon vermuten lässt - einmal Nginx (Proxy Manager) und einmal Portainer.

In NPM habe ich jetzt ein SSL-Zertifikat über Let's Encrypt angelegt - man kann bei dem folgenden Menü auswählen, dass dort die DNS-Challenge gewählt werden soll.

Bild zum Beitrag

Je nach Anbieter (in meinem Fall Cloudflare) musst du eben die geforderten Angaben machen (in meinem Fall ein API-Key für die Zone example.com).

Oben unter "Domain Names" kommen dann alle Domains und Subdomains rein, für die das Zertifikat zählen soll. Ich habe in meinem Fall z.B. angegeben, dass es für example.com, *.example.com und *.int.example.com gelten soll - die Sterne sind jeweils Wildcards und lassen alles zu.

Bild zum Beitrag

Dadurch ist jetzt dieses Zertifikat für z.B. example.com, a.example.com, b.example.com, c.int.example.com, d.int.example.com usw gültig, aber nicht für a.ext.example.com.

Für die einzelnen Einträge, die der NPM dann verwaltet, wähle ich dann das gerade erstellte Zertifikat aus und lasse das intern an die korrekte Quelle weiterleiten.

Bild zum Beitrag

Beim Aufruf lässt sich dann leicht überprüfen, dass das Zertifikat tatsächlich gültig ist und von Let's Encrypt verifiziert wurde:

Bild zum Beitrag

Zudem lässt sich auch leicht überprüfen, dass hinter "nginx.int.example.com" tatsächlich die IP-Adresse 192.168.42.30 steckt. Unter Windows kann man das Tool "nslookup" im Terminal nutzen, unter Linux dig. Beide geben für den lokalen DNS die Antwort 192.168.42.30, aber bei der Nutzung des externen DNS-Servers (z.B. 1.1.1.1) gibt es keine Antwort, da die Einträge ja nur lokal im Netzwerk angegeben sind.

 - (Computer, Linux, Raspberry Pi)  - (Computer, Linux, Raspberry Pi)  - (Computer, Linux, Raspberry Pi)  - (Computer, Linux, Raspberry Pi)
robinpfeiffe97 
Fragesteller
 28.07.2022, 02:16

Ich nehme an das dass nicht geht wenn die Domain bei Strato liegt oder?

0