Mit Wildcard SSL Zertifikaten kann man nicht nur seine Domain sonder auch alle Subdomains absichern, welche von einem Server oder Proxy ausgeliefert werde.
Da ich gute Erfahrungen mit dem Domain Provicer MyOnlinePortal.net habe, wird dieser hier in den Beispielen verwendet.
sudo python3 -m pip install --upgrade certbot
sudo python3 -m pip install certbot-dns-myonlineportal
Erstelle eine Passwortdatei mit den Benutzernamen und Password vom DynDNS provider. Zum Beispiel /etc/letsencrypt/.myonlineportal-credentials.ini
:
dns_myonlineportal_username = username
dns_myonlineportal_password = password
dns_myonlineportal_endpoint = https://myonlineportal.net/set-acme
Aus Sicherheitsgründen sollte nur der Besitzer Zugriff haben
sudo chmod 600 /etc/letsencrypt/.myonlineportal-credentials.ini
sudo certbot certonly --no-self-upgrade --agree-tos \
--authenticator dns-myonlineportal \
--dns-myonlineportal-propagation-seconds 120 \
--dns-myonlineportal-credentials /etc/letsencrypt/.myonlineportal-credentials.ini \
--email 'me@example.com' \
-d example.myonlineportal.net -d *.example.myonlineportal.net
Achte auf den -d
Parameter, es sind zwei vorhanden, einer explizit für die Wildcard Domain. Das funktioniert natürlich auch ohne Wildcard Domain.
Ändere auch den --email
Parameter auf Deine E-Mail Adresse.
Nach der Ausführung solltest Du folgendes sehen
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugin legacy name certbot-dns-myonlineportal:dns-myonlineportal may be removed in a future version. Please use dns-myonlineportal instead.
Requesting a certificate for example.myonlineportal.net and *.example.myonlineportal.net
Waiting 90 seconds for DNS changes to propagate
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/example.myonlineportal.net/fullchain.pem
Key is saved at: /etc/letsencrypt/live/example.myonlineportal.net/privkey.pem
This certificate expires on 2021-12-29.
These files will be updated when the certificate renews.
NEXT STEPS:
- The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See https://certbot.org/renewal-setup for instructions.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Das Zertifikate für den HaProxy Erreichbar und Benutzbar machen. Wenn Deine /etc/haproxy/haproxy.conf
das Zertifikat wie folgt konfiguriert hat
frontend www-https
bind *:443 ssl crt /etc/ssl/example.myonlineportal.net.pem
musst du die fullchain.pem
und privkey.pem
Datei zusammen in eine Datei mit dem Namen /etc/ssl/example.myonlineportal.net.pem
packen
cat /etc/letsencrypt/live/example.myonlineportal.net/fullchain.pem > /etc/ssl/example.myonlineportal.net.pem
cat /etc/letsencrypt/live/example.myonlineportal.net/privkey.pem >> /etc/ssl/example.myonlineportal.net.pem
und den HaProxy reloaden
systemctl reload haproxy.service
oder restarten
systemctl restart haproxy.service
Um das Zertifikat zu erneuern benutze renew
sudo certbot renew --no-self-upgrade --agree-tos \
--authenticator dns-myonlineportal \
--dns-myonlineportal-propagation-seconds 120 \
--dns-myonlineportal-credentials /etc/letsencrypt/.myonlineportal-credentials.ini \
--email 'me@example.com'
und die fullchain.pem
und privkey.pem
Datei zusammen in eine Datei mit dem Namen /etc/ssl/example.myonlineportal.net.pem
packen
cat /etc/letsencrypt/live/example.myonlineportal.net/fullchain.pem > /etc/ssl/example.myonlineportal.net.pem
cat /etc/letsencrypt/live/example.myonlineportal.net/privkey.pem >> /etc/ssl/example.myonlineportal.net.pem
und den HaProxy reloaden
systemctl reload haproxy.service
oder restarten
systemctl restart haproxy.service
Veraltete Optionen entfernt und noch mal getestet