Um automatisch für alle Webseiten SSL/TLS Zertifikate zu erneuern mit Letsencrypt und Certbot.
Es gibt verschiedene Möglichkeiten zur Installation. Bei Nutzung von Nginx, ist es am besten, direkt das Paket für "nginx" zu installieren. Das geht dann in Debian via:
apt-get update &&
apt-get install -y certbot python-certbot-nginx
certbot run -a webroot -i nginx --webroot --webroot-path /var/www/letsencrypt/ -d meinewebsite.de -d www.meinewebsite.de
Um tatsächlich das Zertifikat und alle relevanten Files zu entfernen.
certbot delete --cert-name example.com
In
"etc/letsencrypt/renewal"
werden nach dem erstmaligen anfragen eines neuen Zertifikats (siehe Oben) Config files für das "renewal" also automatische erneuern in Zukunft angelegt in der die zugehörigen Infos stehen, die kann man auch manipulieren, aber man sollte eher die vorgegebenen kommandos dazu nutzen.
Die Eigentliche "Autorenewal" geschieht dann über einen Cronjob
Siehe:
/etc/cron.d/certbot
Normalerweise wird dieses Verzeichnis einfach im Web-Root-Verzeichnis mit einem Key angelegt, dann prüft Certbot ob er darauf zugreifen kann um sicherzustellen, dass man auch wirklich der entsprechende Auftraggeber ist.
Das geht dann automatisch. Wenn aber aber das eigentliche Web-root-Verzeichnis nicht auf dem nginx Sever liegt, weil nginx nur als Reverse-Proxy dient z.b., muss ein lokales Verzeichnis für diesen Zweck angelegt und die Anfrage dahin umgeleitet werden
Deshalb: Einfach in der entsprechenden .conf-Datei im "http-Bereich" folgendes einfügen
location /.well-known/acme-challenge {
root /var/www/letsencrypt; try_files $uri $uri/ =404;
}