Wie derwunner schon schrieb, werden Certs von Letsencrypt nur für Domains vergeben, die auch via DNS erreichbar sind/existieren.
Deine Domain ist rein lokal. Dafür gibt es keine direkten SSL/TLS Zertifikate.
Du hast zwei Möglichkeiten:
- Du arbeitest mit selbsterstellten Zertifikaten.
Was den Nachteil hat, dass der Aufruf einer damit HTTPS- verschlüsselten Website bei jedem Browser zu einer Sicherheitswarnung führt, wo man erst dieses Zertifikat einmal für rechtens erklären muss. - Du besorgst dir ein sogenanntes DynDNS Domainlabel, und erstellst via deren Domain ein Letsencrypt Zertifikat.
Der deutsche Verein DeSEC.io bietet kostenlos solche Domainlabels, für die auch Letsencrypt Zerts möglich sind.
Guckst du https://desec.io
Damit kriegst du ein gültiges Zertifikat für <deinLabel>.dedyn.io , das von jedem Browser aktzeptiert wird.
Ein selbstsigniertes Zert (, das dann jeder Browser anmault), kannst du dir mit diesem kleine Script erzeugen:
(Kopiere dir das Script nach /usr/local/bin und mache es ausführbar)
#!/bin/bash
years=${1:-3}
valid_days=$((365 * years))
name=${name:-$1}
mkcert(){
openssl req -x509 -nodes -newkey rsa:4096 -keyout ${name}_key.pem -out ${name}_cert.pem -days $valid_days
}
mkcert $*
Der Aufruf ist dann einfach:
scriptname localdomainlabel.local.site 2
für ein zwei Jahre gültiges Zertifikat.
(Lässt du die Anzahl der Jahre weg, ist der Default 3
Lässt du auch noch das Domainlabel weg, so wird der Name des Scripts selbst im Cert verwendet (was meist nicht viel Sinn machen dürfte)
Es genügt auch einfach nur die openssl Zeile auszuführen.
Und klar: Das Plugin muss installiert sein, und der Webserver laufen, wenn du richtige Zerts mit einem DynDNS Provider erzeugen möchtest.