Hallo,
bisher wurde viel grundsätzliches richtig erklärt, ich will an der Stelle mal helfen, wie man das praktisch umsetzt.
1) Beim Aufruf der Seite muß mein feste-ip.net Port mitangegeben werden:
https://meinecloud.feste-ip.net:43344
Gibt es eine Möglichkeit dies so zu ändern, daß man https://meinecloud.feste-ip.net als Aufrufadresse hat?
Wurde ja schon erklärt, dass das mit der günstigen Version nicht geht.
2) Wie kann ich letsencrypt implementieren? Schätze mal, daß dies einfacher geht, wenn Punkt 1 gelöst ist..
HTTPS hat neben der Verschlüsselung noch eine weitere Funktion: es soll sicherstellen, dass die Server, mit dem sich dein PC verbindet, auch wirklich die sind, die sie vorgeben zu sein. Dazu hat jeder Server ein Zertifikat, dass (wie von @Leseratte10 erwähnt) auf seinen Hostnamen (also seine Domain) ausgestellt ist. Prinzipiell kann sich jeder selbst Zertifikate für jede Domain erstellen.
Damit eben diese Verifizierungsfunktion von SSL erfüllt wird, darf ist das ja nicht sinnvoll. Daher zeigt der Browser beim Aufrufen der Seite über HTTPS mit einem selbst signierten Zertifikat eine schöne Fehlermeldung an. Jetzt kommen Certificate Authorities (CAs, wie LetsEncrypt eine ist) ins Spiel. Diese verbegen Zertifikate, denen die Browser vertrauen und keine Fehlermeldung anzeigen.
Dabei müssen die CAs verfizieren, dass du, wenn du ein Zertifikat auf eine Domain erstellen willst, auch dazu berechtigt bist, d.h. dass es deine Domain ist und nicht die eines andren.
LetsEncrypt (LE) bietet im Moment zwei solcher Verifizierungsverfahren an: eines über HTTP und eines über DNS (Domain Name Service). Beim HTTP-Verfahren sendet der LE-Server eine Anfrage an den mit der Domain verknüpften Server auf Port 80 und erwartet als Antwort einen bestimmten Verifizierungscode. Dies ist bei LE das übliche Verfahren über den Standard-Client (Certbot).
Das Problem an diesem Verfahren ist, dass LE die Anfrage immer an Port 80 sendet. Da du aber nur einen Port (!= 80) zur Verfügung hat, funktioniert das Verfahren nicht.
Daher muss das DNS-Verfahren benutzt werden. Löst der LE-Server eine bestimmte Subdomain auf und erwartet dabei als Antwort eine Verifizierungscode als TXT-Record. (Ich würde dir empfehlen, dich kurz in DNS einzulesen :zwinker: )
Das heißt praktisch, du brauchst eine Domain, bei der du a) Zugriff auf die DNS-Einstellungen hat und du b) dein Server (über festeIP) erreichbar ist. Subdomains bekommst du (wie schon gepostet, z.B. hier https://freedns.afraid.org/) oder bestimmte Top Level Domains (.tk, .ml etc.) hier kostenlos: http://www.freenom.com/.
Wichtig ist, dass du *kein* DynDNS auf die IPv4 deines Internetanschlusses brauchst. Die Domain muss auf deine IPv4-Adresse von feste-ip verweisen. Am besten geht das mit einem sog. MX-Record auf "meinecloud.feste-ip.net".
Die DNS-Verifizerung war zwar meiner Meinung nicht mit dem LE-Client möglich, scheint aber mit Certbot doch zu funktioneren: https://community.letsencrypt.org/t/dns-based-challange-for-verification-of-letsencrypt-ssl-certs/28561.
Ich habe für die DNS-Verifizierung immer https://github.com/lukas2511/dehydrated genutzt, aber bitte zuerst Certbot testen
Wenns noch weitere Fragen/Probleme gibt, bitte posten
Viele Grüße!