Wie bekomme ich ein Wildcard Subdomain Zertifikat?

Don-DCH

Captain
Registriert
Aug. 2009
Beiträge
3.279
Guten Abend zusammen,

ich hätte gern für meine Ngnix Proxy Manager die Möglichkeit ein SSL Zertifikat zu bekommen um auf meine Dockerdienste per HTTPS SSL verschlüsselt zuzugreifen.

Ich habe bei Netcup eine Domain gekauft und im DNS einen A Record auf meine statische IP Adresse gemacht:
intern.meinedomain.de

Im NPM habe ich dann die Domain angegeben und DNS Challange aktiviert, dann ahbe ich die benötigten API Daten eingetragen, soweit funktioniert das super!

Jetzt habe ich in einem YouTube Video gesehen, dass man sich auch ein Wildcard Zertifikat aussellen lassen kann für die Subdomain, sprich

*.Intern.meinedomain.de

ich habe also ebenfalls einen Eintrag im DNS getätigt
*.intern.meinedomain.de als A Record ebenfalls auf meine IP zeigend.

Aber leider klappt das nicht.

Jetzt habe ich Chat GPT gefragt und da heißt es man benötigt einen TXT Eintrag, leider habe ich keine Ahnung wie ich diesen ausfüllen sollte?
Stimmt es, dass ich einen TXT Eintrag benötige?
Und wen ja, was muss ich bei Host und Destination angeben?
Bei Host auch wieder meine Wildcard Subdomain?
Sprich *.intern.meinedomain.de

Vielleicht weiß ja jemand rat und hat das vielleicht sogar shcon gemacht?

Viele Grüße und einen schönen Abend euch!
 
Wildcard geht nur per TXT weil nur so kannst du die Kontrolle über die Domäne nachweisen. Der nginx Proxy Manager kann das auch.

Im Ngnix Proxy Manager wählst du Lets Encrypt mit DNS und Provider netcup aus. Domainname ist dann *.domain.tld.
 
  • Gefällt mir
Reaktionen: GTrash81, dafReak und Don-DCH
Die einfachste Methode: letsencrypt.

Dafür gibt es genug Anleitungen, wie man das macht.
 
Danke euch für die schnellen Rückmeldungen!

JumpingCat schrieb:
Wildcard geht nur per TXT weil nur so kannst du die Kontrolle über die Domäne nachweisen.
AH ok verstehe, deshalb klappt es nicht :(

JumpingCat schrieb:
Der nginx Proxy Manager kann das auch.
Das klingt super.

JumpingCat schrieb:
Im Ngnix Proxy Manager wählst du Lets Encrypt mit DNS und Provider netcup aus. Domainname ist dann *.domain.tld.
Genau das habe ich jetzt auch so und bei Netcup muss ich dann noch den TXT Record einstellen gell aber was muss da rein?

Das müsste dann so aussehen gell?

1738777574396.png


Zeroflow schrieb:
Die einfachste Methode: letsencrypt.
Genau, damit macht der NPM es ja.

Zeroflow schrieb:
Dafür gibt es genug Anleitungen, wie man das macht.
Das hilft mir nicht, ich habe es ja für meien Subdomain bereits eingerichtet, aber es geht ja um ein Wildcard Zertifikat wo ich einen TXT Eintrag erstellen muss und da hängt es leider.
Ergänzung ()

Don-DCH schrieb:
Das müsste dann so aussehen gell?

[IMG]https://www.computerbase.de/forum/attachments/1738777574396-png.1579719/[/IMG]
So klappt es leider auch nicht :(
Dann bekomme ich einen Fehler:

CommandError: Saving debug log to /tmp/letsencrypt-log/letsencrypt.log
An unexpected error occurred:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NameResolutionError(": Failed to resolve 'acme-v02.api.letsencrypt.org' ([Errno -3] Temporary failure in name resolution)"))
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/letsencrypt-log/letsencrypt.log or re-run Certbot with -v for more details.

at /app/lib/utils.js:16:13
at ChildProcess.exithandler (node:child_process:430:5)
at ChildProcess.emit (node:events:518:28)
at maybeClose (node:internal/child_process:1104:16)
at ChildProcess._handle.onexit (node:internal/child_process:304:5)
 
Zuletzt bearbeitet:
Don-DCH schrieb:
Das müsste dann so aussehen gell?

Die Credentials hast du aber schon angepasst für deinen Account?

Don-DCH schrieb:
Genau das habe ich jetzt auch so und bei Netcup muss ich dann noch den TXT Record einstellen gell aber was muss da rein?

Das machen die Tools allgemein selbst, weil geforderten TXT Daten dynamisch erzeugt werden und dann live abgefragt werden. Zu Fuss schaffst du das nicht.
Einfach deine korrekten Zugangsdaten dort eintragen.
 
JumpingCat schrieb:
Die Credentials hast du aber schon angepasst für deinen Account?
Jup :)

JumpingCat schrieb:
Einfach deine korrekten Zugangsdaten dort eintragen.
Habe ich, aber irgendwie schafft er es trotzdessen nicht :/

Es kommt die oben geschriebene Fehlermeldung :(

In dem Video was ich geschaut hatte wurde das über Cloudflare gemacht, aber da müsste ich irgendwie die Verwaltung umstellen, hätte ich auch nichts gegen wenn Netcup das anscheint nicht hinbekommt :(

Anbei das Video zum besseren Verständnis:


Da Cloudflare keine .de Domains hat, hat der Youtuber seine Domain wohl irgendwie zu Cloudflare hinzugefügt und verwalten lassen.
 
Don-DCH schrieb:
retries exceeded with url: /directory (Caused by NameResolutionError(": Failed to resolve 'acme-v02.api.letsencrypt.org' ([Errno -3] Temporary failure in name resolution)"))

Wie führst du den Ngnix Proxy Manager aus? Es sieht so aus als hätte der keinen DNS / Internetzugang.
 
JumpingCat schrieb:
Wie führst du den Ngnix Proxy Manager aus?
Als Docker Container unter Ubuntu.
JumpingCat schrieb:
Es sieht so aus als hätte der keinen DNS / Internetzugang.
Laut Log ja, aber warum ging es gestern noch das intern.meinedomain.de Zertifikat auszustellen das wundert mich. Hmm
 
Dann kannst du es jetzt testen.

docker exec -it npm bash

und dann halt ping / nslookup / host oder so.
 
Don-DCH schrieb:
CommandError: Saving debug log to /tmp/letsencrypt-log/letsencrypt.log
An unexpected error occurred:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NameResolutionError(": Failed to resolve 'acme-v02.api.letsencrypt.org' ([Errno -3] Temporary failure in name resolution)"))
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /tmp/letsencrypt-log/letsencrypt.log or re-run Certbot with -v for more details.
Temporary failure in name resolution klingt jetzt erstmal nach keinem großen Problem.

Was hast du bei Netcup als TTL gesetzt und was hast du bei propagation seconds eingegeben?
Propagation seconds sollte 30-60 Sekunden höher sein als deine TTL.
Die TTL sollte danach nicht mehr verändert werden, sonst klappt die automatische Verlängerung nicht.
Die TTL sollte so lang wie möglich und so kurz wie nötig sein. Ich würde dir empfehlen min. 300 Sekunden und bei propagation seconds (Wartezeit bis zur Aktualisierung) 330 Sekunden.
Wenn du das gestartet hast, FASS NICHTS AN. Lass den Tab einfach im Vordergrund in Ruhe oder geh einfach für 6min vom PC weg.
 
Zuletzt bearbeitet:
Endlich jetzt ist es ohne Fehler durchgelaufen.

720 Sekunden habe ich jetzt auch eingetragen, damit gab es keinerlei Fehler.
Krass das Netcup da so empfindlich ist.

Vielen herzlichen Dank euch für eure Hilfe!

Somit hat sich das ganze mit Cloudflare erledigt, umso besser.#Ich gebe euch recht, noch ein Dienst mehr muss nicht sein.
Das es so genau auf die Konfig ankommt war mir nicht bewusst.
Vorallem bei Home Assistant ging es mit 900 Sekunden naja sehr komisch.

In jedem Falle klappt jetzt alles und das, wenn man genau weiß wie garnicht kompliziert.

Nochmals vielen herzlichen Dank euch!

h00bi schrieb:
Was hast du bei Netcup als TTL gesetzt
Habe ich so belassen. Das steht auf
86400

h00bi schrieb:
Propagation seconds sollte 30-60 Sekunden höher sein als deine TTL.
Hmm das ist es damit definitiv nicht. Ist das sehr schlimm, sollte ich den Wert bei Netcup anpassen?

Oben habe ich ein Screenshot von Netcup mit allen Werten gepostet.
 
Don-DCH schrieb:
Hmm das ist es damit definitiv nicht. Ist das sehr schlimm, sollte ich den Wert bei Netcup anpassen?
Dann hattest du einfach nur Glück.
Deine DNS Settings werden von Netcup nur alle 86400 Sekunden (24h) erneuert.
Certbot (im Hintergrund deines NPM) sendet an Netcup die Info "key, hoste bitte diesen TXT Record."
Der Netcup DNS Server ändert das aber erst beim nächsten 24h Timer.
Wenn NPM also 330 Sekunden später den TXT Eintrag auslesen will, ist der gar nicht da.

Kannst du mit https://mxtoolbox.com/SuperTool.aspx# selbst abfragen, hinter der Domain auf TXT stellen.
 
  • Gefällt mir
Reaktionen: Don-DCH
h00bi schrieb:
Wenn du das gestartet hast, FASS NICHTS AN. Lass den Tab einfach im Vordergrund in Ruhe oder geh einfach für 6min vom PC weg.
Hmm ist das so empfindlich, das es deshalb komplett fehlschlagen kann?
Hatte den PC normal weitergenutzt und einfach den Tab in ruhe gelassen.

h00bi schrieb:
Deine DNS Settings werden von Netcup nur alle 86400 Sekunden (24h) erneuert.
Certbot (im Hintergrund deines NPM) sendet an Netcup die Info "key, hoste bitte diesen TXT Record."
Der Netcup DNS Server ändert das aber erst beim nächsten 24h Timer.
Wenn NPM also 330 Sekunden später den TXT Eintrag auslesen will, ist der gar nicht da.
Oh ok, also wäre da eine Anpassung gut, wie du geschrieben hast 300 Sekunden und dann kann ich auch eine kurze Zeit bei dem NPM einstellen verstehe.

h00bi schrieb:
Kannst du mit https://mxtoolbox.com/SuperTool.aspx# selbst abfragen, hinter der Domain auf TXT stellen.
ich habe jetzt *.intern.meinedomain.de genutzt in NPM, was genau muss ich dann auf der seite prüfen test.intern.meinedomain.de oder intern.meinedomain.de?

Grüße

PS: Muss ich die Werte Expire, Retry und Resfresh dann auch entsprechend abändern oder kann das alles so bleiben?
 
Don-DCH schrieb:
was genau muss ich dann auf der seite prüfen test.intern.meinedomain.de oder intern.meinedomain.de
meinedomain.de

sorry, falsch. Die Abfrage muss auf das hier lauten:
Code:
_acme-challenge.meinedomain.de
 
Zuletzt bearbeitet:
Zertifikat habe ich bekommen aber ich glaube laut der Seite schaut das nicht gut aus oder?

1738855159842.png
 
Siehe mein Edit oben in #14
Der TXT Eintrag wird von Certbot bei Abbruch oder bei erfolgreicher Zertifikatserstellung gelöscht.
Bei TTL 300 und 360 propgation seconds solltest du den TXT Eintrag nach spätestens 5 Minuten für midnestens eine Minute lang abrufen können.
 
  • Gefällt mir
Reaktionen: Don-DCH
Don-DCH schrieb:
Zertifikat habe ich bekommen aber ich glaube laut der Seite schaut das nicht gut aus oder?

Anhang anzeigen 1580226

Woher kommt die Meldung?

Ansonsten bitte nicht an den DNS TTL rumspielen. Der ACME-Server checkt live die Einträge direkt beim Provider, d.h. hier netcup .Die TTL greift da nicht. Die TTL ist nur für cachende DNS-Server wie bei deinem Internetanbieter sowie deinem Router und deinem Endgerät.
Mein Wissen von früher: netcup hat normale DNS-Einträge aller 1min/5min aktualisiert, d.h. man konnte da auch mit normalen Einträge DynDNS betreiben. TXT sollte gerade wegen ACME schneller von der API zum DNS runter geschrieben werden.
 
Zurück
Oben