Normalerweise können Sie nur über Ihr lokales Netzwerk auf Ihren Plex/Emby/Jellyfin oder anderen Heimserver zugreifen. In der Vergangenheit mussten Sie eine lokale Zertifizierungsstelle erstellen, benutzerdefinierte Zertifikate ausstellen und die Zertifizierungsstelle allen Ihren Clients bekannt machen, wenn Sie HTTPS verwenden wollten – ziemlich umständlich.
Kürzlich sprach ich mit Kollegen über dieses Problem und war überrascht, dass sie das DNS-01-Protokoll nicht kannten. Es ermöglicht, LetsEncrypt Zertifikate für Server ausstellen zu lassen, die nicht mit dem Internet verbunden sind.
Ich werde nicht im Detail erklären, wie das erreicht wird, aber einige Hinweise sind angebracht.
Client
Ich verwende acme.sh. Standardmäßig verwendet es ZeroSSL anstelle von LetsEncrypt, aus welchem Grund auch immer. ZeroSSL ist in OK, denke ich. Wenn Sie jedoch LetsEncrypt verwenden möchten, müssen Sie manuell umschalten, bevor Sie acme.sh ein Zertifikat ausstellen lassen.
Profi-Tipp: Stellen Sie sicher, dass acme.sh tatsächlich umgeschaltet hat. Das letzte Mal, als ich umgeschaltet habe, war es etwas fummelig.
DNS
Der einfachste Weg ist, eine vorhandene Domain zu verwenden oder eine Domain für ein paar Euro pro Jahr von einem DNS-Anbieter zu kaufen, der eine DNS-API anbietet. Eine Liste der unterstützten Anbieter finden Sie bei acme.sh.
Wenn Ihr DNS-Anbieter keinen API-Zugriff bietet, könnten Sie den DNS-Alias-Modus versuchen.
Vor- und Nachteile
Vorteile
- Kostenloses Zertifikat
- Alle Clients kennen die Zertifizierungsstelle bereits
- Selbst wenn Sie sich entscheiden, Ihren Heimserver mit dem Internet zu verbinden, würden die Clients die Zertifizierungsstelle kennen
- Zertifikatsverlängerungen können leicht automatisiert werden
Nachteile
- Ihr Server hat einen öffentlichen DNS-Eintrag, auch wenn er privat und nicht mit dem Internet verbunden ist. Wählen Sie am besten einen unverfänglichen Namen für Ihren privaten Server!
- Nicht jeder DNS-Anbieter bietet eine API