Lets Encrypt SSL mit No-IP DynDNS

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Moin liebe Gemeinde,

in der Hoffnung das es diesen Thread nicht schon gibt, zur Not bitte verschieben, eröffne ich ihn einfach mal.
Ich stehe von dem Problem das ich gerne via SWAG (Docker Linuxserver.io) meine No-IP DynDNS Domain mit einem LetsEncrypt Zertifikat versehen möchte.

Aber entweder stelle ich mich zu doof an oder es funktioniert so nicht. Wenn ich die Domain aufrufe und das DSM7 mit port 5001 aufrufe, bekomme ich die Meldung das das Zertifikat nicht stimmt, denn die "Seite" ist von Synology Zertifiziert.

Kann mir da wer unter die Arme greifen?

Vielen Dank im voraus!
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Wenn ich die Domain aufrufe und das DSM7 mit port 5001 aufrufe, bekomme ich die Meldung das das Zertifikat nicht stimmt, denn die "Seite" ist von Synology Zertifiziert.

Hast du denn überhaupt für die Seite einen Eintrag im Nginx unter proxy-confs erstellt? Mit dem Standardport 5001 rufst du letztendlich DSM direkt auf - ohne dieses über den Reverse Proxy zu schleifen.
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Siehste, dass sind so Informationen die komplett fehlen. EDIT: Hab den Eintrag im Tut gefunden, werde daraus aber auch nicht schlau. :)

Ich gehe jetzt mal davon aus das Du dich auf SWAG beziehst. Müssen da dann für alle Ports (z.B. JellyFin usw.) über den Reverse Proxy?

Oder gibt es da evtl. noch eine einfachere Option SSL ohne SynoDynDNS nutzen zu können?
 
Zuletzt bearbeitet:

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Ich gehe jetzt mal davon aus das Du dich auf SWAG beziehst.
SWAG ist nichts anderes als ein Konglomerat mehrerer Software-Komponenten, die allerdings miteinander charmant miteinander verheiratet sind.
Der Kern bildet aber der Nginx - Reverse Proxy. Ergo greifen hier auch alle Grundlagen, die für den Nginx selbst greifen - die da übrigens auch für Synology gelten. siehe auch hier: https://www.synology-forum.de/threa...-oder-ausserhalb-vom-nas.121909/#post-1012324

Wenn man sich mit SWAG beschäftigt, sollte man sich zuerst mit dem Nginx beschäftigen. Sonst wird es mit den Zusammenhängen schwierig.
Übrigens würde ich auf no-ip verzichten, sondern eine "echte" Domain erwerben. Sonst musst du für jede konfigurierten proxy-confs-Eintrag ebenfalls einen Eintrag für Lets Encrypt erstellen.

Idealerweise eine Domain aus der Enviroment DNSPLUGIN=
https://docs.linuxserver.io/images/docker-swag

Dann kannst du für Lets Encrypt auf eine ACME-DNS-Challenge zurückgreifen und Wildcard-Zertifikate erstellen.

Es ist aber bei Linuxserver alles beschrieben.
https://www.linuxserver.io/blog/2020-08-21-introducing-swag
https://www.linuxserver.io/blog/2020-08-26-setting-up-authelia
https://docs.linuxserver.io/images/docker-swag

Dann mal viel Spaß beim SWAG aufdrehen!
swag.gif
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
So Freunde,

da ich auf meiner DS918+ Heimdall und JellyFin laufen habe und diese auch auf SSL hören sollen, habe ich mich noch einmal mit Swag auseinander gesetzt.
Wie bekomme ich die SynoPorts 80 & 443 dauerhaft ungemappt damit Swag drauf funken kann?

Ich hatte mir schon ein Script von einem Luxenburger angeschaut und probiert als Ausgaben bekomme ich das (kurz gesagt) 444 zurück auf 443 gemappt wurde. Also funktioniert hat das wohl nicht.

Gibt es da noch eine andere Option?
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Noch einmal alles auf Anfang ... Also ohne Port 443 und 80 wird Swag wohl nicht richtig laufen und funktionieren.

Jetzt hat zwar der DSM SSL mittels Zertifikat über den DSM aber die Docker Container werde ich wohl nicht mit SSL zu laufen bekommen.

Oder hat noch jemand ne Idee?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Wie bekomme ich die SynoPorts 80 & 443 dauerhaft ungemappt damit Swag drauf funken kann?
Du musst das Portforwarding von 443 und 80 auf SWAG setzen. Innerhalb von SWAG setzt du wiederum die proxy-confs mit Verweis auf 5000 / 5001 für DSM, Heimdall und Co.
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Das Portforwarding im DSM 7?
Ich kann Port 80 nicht auf 8080 (SWAG) setzten .... Port 80 und 443 werden Rot markiert und nix geht mehr.

Hab die Ports jetzt über die Fritte umgesetzt. 🤦‍♀️ Nun teste ich morgen noch einmal Swag, aktuell habe ich es mal mit dem Nginx Proxy Manager probiert. Wobei mir diese fast lieber wäre, da ich da auch ohne Probleme aus der Ferne arbeiten kann. Mal schauen, ich werde mir wohl mal eine Domain bei Google "mieten", da Google auch DDNS kann.
 
Zuletzt bearbeitet:

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Der Nginx Proxy Manager ist etwas benutzerfreundlicher, aber auch vom Funktionsumfang weniger stark ausgeprägt wie SWAG. Für mich war die 2FA-Authelia-Integration spannend, weswegen ich damals zu SWAG gegriffen habe.

Mal schauen, ich werde mir wohl mal eine Domain bei Google "mieten", da Google auch DDNS kann.
Würde ich nicht machen. Die Kosten bei Google sind relativ hoch. Empfehlung: Netcup + MyFritz
Bei Netcup kostet die Domain < 1,5€ monatlich. Du setzt einen CNAME auf die MyFritz-Adresse und fertig ist der Lack.
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Ich bin aktuell bei einer .App Domain bei 14€ jährlich, also ähnlich wie Netcup.

Bleibt denn beim CNAME der Domain-Name bestehen oder wechselt der zur myFritz?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Ich bin aktuell bei einer .App Domain bei 14€ jährlich, also ähnlich wie Netcup.
Eine normale .de-Domain zahlst du bei Netcup 0,42 EUR mtl. - Damit bist du bei knapp 5 Euro im Jahr.
Die TLD .app kostet bei Netcup 3,20 EUR mtl. Letztendlich ist das im Privatgebrauch aber "nur" Ästhetik. Wie die Einrichtung des DNS-API-Tokens bei Google gestaltet ist, wirst du dann aber in jedem Fall selbst herausfinden müssen.

Bleibt denn beim CNAME der Domain-Name bestehen oder wechselt der zur myFritz?
Die Frage kannst du dir eigentlich selbst beantworten, in dem du bei einer .app-Domain einen CNAME-Record auf deinen DDNS (No-IP) setzt.
Ich greife aber gerne mal vor: Die Domain bleibt normalerweise im Browser-Fenster erhalten.
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
OK @Ulfhednir , habe mir jetzt, aufgrund des fehlenden API Supports bei google eine Domain bei Netcup gemietet.
Wie läuft denn das mit dem API Token bei Netcup ab? Auf die schnelle finde ich das Panel und die Einstellungsmöglichkeiten sehr abgespeckt. :)

PS: Den CNAME auf die myFritz is gesetzt.

EDIT: Wenn ich SWAG mit diesen Settings starte, bekomme ich im Protokoll folgendes:
Code:
Detail: no valid A records found for xxx-xx.xyz; no valid AAAA records found for ...

EDIT2: Manchmal ist es echt zum ...

Also die Netcup SubDomain mit CNAME auf meine FritteAdresse geht jetzt, SWAG läuft auch.
Aktuell kann ich sub.meine-domain.de die SWAG Seite aufrufen, nur mit den Docker Container funktioniert das noch nicht.
Wenn ich bspw. jellyfin.sub.meine-domain.de aufrufe bekomme ich "Seite kann nicht geladen werden", rufe ich aber bspw. sub.meine-domain.de/jellyfin auf bekomme ich ein 502. Die Ports sind via Fritte frei und im Docker auch nicht geändert, also Standard 8096 non-SSL und 8290 SSL. Das .sample hinter den NGINX Configs habe ich gelöscht.
 
Zuletzt bearbeitet:

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
OK @Ulfhednir , habe mir jetzt, aufgrund des fehlenden API Supports bei google eine Domain bei Netcup gemietet.
Wie läuft denn das mit dem API Token bei Netcup ab? Auf die schnelle finde ich das Panel und die Einstellungsmöglichkeiten sehr abgespeckt. :)
Ich habe nicht gesagt, dass es die API nicht gibt, sondern lediglich, dass du das selbst erarbeiten musst. Dass es eine geben sollt, steht jedenfalls in der SWAG-Dokumentation beschrieben, siehe auch:
Required if VALIDATION is set to dns. Options are aliyun, azure, cloudflare, cloudxns, cpanel, desec, digitalocean, directadmin, dnsimple, dnsmadeeasy, dnspod, domeneshop, gandi, gehirn, google, he, hetzner, infomaniak, inwx, ionos, linode, loopia, luadns, netcup, njalla, nsone, ovh, rfc2136, route53, sakuracloud, standalone, transip and vultr. Also need to enter the credentials into the corresponding ini (or json for some plugins) file under /config/dns-conf.
https://docs.linuxserver.io/images/docker-swag
Den Hinweis habe ich aber auch in meinem Beitrag mit DNSPLUGIN= gegeben.

Wie läuft denn das mit dem API Token bei Netcup ab? Auf die schnelle finde ich das Panel und die Einstellungsmöglichkeiten sehr abgespeckt. :)
https://www.netcup-wiki.de/wiki/DNS_API
Bitte daran denken, dass du im Container die ENV DNSPLUGIN=netcup hinterlegen musst. Zudem sollte in deinem gemappten Verzeichnis /dns-conf die netcup.ini gepflegt sein.

Wenn ich bspw. jellyfin.sub.meine-domain.de aufrufe bekomme ich "Seite kann nicht geladen werden", rufe ich aber bspw. sub.meine-domain.de/jellyfin auf bekomme ich ein 502. Die Ports sind via Fritte frei und im Docker auch nicht geändert, also Standard 8096 non-SSL und 8290 SSL. Das .sample hinter den NGINX Configs habe ich gelöscht.
Die config sollte nach dem Container-Neustart laufen. Ansonsten kann es natürlich sein, dass in Jellyfin andere Einstellungen hinterlegt werden müssen und / oder du andere Einstellungen in der config benötigst.
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Erst einmal vielen lieben Dank für Deine Hilfe.

SWAG Läuft nun, dass einzige was ich gerade festgestellt habe, ist das wohl in Jellyfin selber einiges geändert wurde.
Dort fehlt jetzt der Eintrag das die SSL Sachen vom Proxy übernommen werden. Es ist wirklich manchmal richtig zum k....
JellyFin selber möchte jetzt ein PKCS #12 Datei für das Zertifikat haben.

Die Netcup Domain habe ich wirklich mangels API bei Google genommen, denn das Thema Api steht noch seit 2017 bei google in Frage und bisher ist da nichts passiert.

EDIT: SO!
Jetzt ist auch der Jelly Konfiguriert ... aber unter Safari wird mir ein Gültiges SSL Zertifikat angezeigt, unter Chrome leider nicht. Noch eine Idee, oder dauert es nur ein wenig?
 
Zuletzt bearbeitet:

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Nur kurz zum Verständnis.

Die CNAMEs der Subdomains werden durch die API selber erstellt oder müsste ich jetzt für die einzelnen Docker Apps bspw. heimdall.sub.meinedomain.de im Domain Panel anlegen?
Das Zertifikat für Jelly wird immer noch als unsicher angezeigt, da das Zertifikat nur für sub.meinedomain.de und nicht für jelly.sub.meinedomain.de ausgestellt wurde.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
SWAG Läuft nun, dass einzige was ich gerade festgestellt habe, ist das wohl in Jellyfin selber einiges geändert wurde.
Dort fehlt jetzt der Eintrag das die SSL Sachen vom Proxy übernommen werden. Es ist wirklich manchmal richtig zum k....
JellyFin selber möchte jetzt ein PKCS #12 Datei für das Zertifikat haben.
Bei Jellyfin kann ich dir leider nicht weiterhelfen. Ich bin Plex-Nutzer und mir fehlt die Zeit & Lust, um mich damit auseinanderzusetzen. Die Beispiel-Config ist vom 2021/05/18. Du kannst allenfalls nochmal prüfen, ob andere Parameter weiterhelfen. https://www.howtoforge.de/anleitung...in-media-server-mit-nginx-unter-ubuntu-20-04/ - oder mal im SWAG-Discord nachhaken.

Die Netcup Domain habe ich wirklich mangels API bei Google genommen, denn das Thema Api steht noch seit 2017 bei google in Frage und bisher ist da nichts passiert.
Was mich etwas wundert.. Aber gut - spricht abermals für Netcup


Nur kurz zum Verständnis.

Die CNAMEs der Subdomains werden durch die API selber erstellt oder müsste ich jetzt für die einzelnen Docker Apps bspw. heimdall.sub.meinedomain.de im Domain Panel anlegen?
SWAG legt für dich keinen DNS-Record an. Die DNS-Api kümmert sich "nur" um das notwendige Handling zur Beantragung eines Wildcard-Zertfikats.
Deine ENV sollten daher wie folgt eingestellt sein.
- URL=deine-domain.tld - SUBDOMAINS=wildcard - VALIDATION=dns - DNSPLUGIN=netcup

Nochmal zum Ablauf:
1.) CNAME-Record für applicationXYZ.deine-domain.tld anlegen // Achtung - DNS-TTL beachten, ggf. Flush-DNS ausführen bzw. Namensauflösung prüfen
2.) proxy-confs anlegen
3.) SWAG restart
4.) Nach Neustart sollte die Subdomain mit Lets Encrypt (Wildcard) ansprechbar sein.
5.)
swag.gif
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Danke wird getestet, die Wildcards habe ich noch nicht gesetzt. Kann man denn die Domain, also https ://meinedomain.de direkt für Swag setzen? Als CNAME geht das ja nicht, weil es ja ein A Record mit IP Zuweisung sein muss oder hab ich das falsch verstanden. Ich hatte bisher meine Domains immer direkt zum Nameserver verwiesen, da hatte ich solche Problematiken nicht.

Btw. Validation DNS funktioniert bei mir nicht, geht irgendwie nur über http.
 
Zuletzt bearbeitet:

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Danke wird getestet, die Wildcards habe ich noch nicht gesetzt. Kann man denn die Domain, also https ://meinedomain.de direkt für Swag setzen?
Gegenfrage: Hast du dir denn schon mal die ENV-Parameter durchgelesen?
-e ONLY_SUBDOMAINS=false​
If you wish to get certs only for certain subdomains, but not the main domain (main domain may be hosted on another machine and cannot be validated), set this to true
-e EXTRA_DOMAINS=​
Additional fully qualified domain names (comma separated, no spaces) ie. extradomain.com,subdomain.anotherdomain.org,*.anotherdomain.org
Wildcard macht halt dann Sinn, wenn du mit vielen Containern hantierst und nicht jedes mal die Subdomains als ENV im Container angeben möchtest.

Btw. Validation DNS funktioniert bei mir nicht, geht irgendwie nur über http.
Bitte die ENV überprüfen und insbesondere, die in #13 beschriebene netcup.ini anlegen. (Container neustarten)
Ein Blick in das Container-Protokoll ist auch sehr hilfreich.
 

FR1D0L1N

Benutzer
Mitglied seit
30. Jun 2022
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Danke.

Only_Sub ist auf true, extra_domains habe ich nicht drin stehen, da mir kein Weg, außer dyndns bekannt ist die TLD zum Server zu Routen.

Die netcup.ini wurde von mir mit den Daten zur API gefüllt und gespeichert.
Trotzdessen bekomme ich mit validation DNS keine "Swag" landing Page zu sehen, die funktioniert nur mit http.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.264
Punkte für Reaktionen
923
Punkte
174
Was steht denn im Log, wenn du auf DNS stellst? Wie sehen deine Container-Einstellungen konkret aus?
Hast du den Container mit den passenden ENV neu erstellt oder nachträglich geändert?
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat