mpataki.ha_letsencrypt
ansible-ha-letsencrypt
Let's Encrypt ist ein kostenloser Dienst, der SSL-Zertifikate bereitstellt, die für die Ende-zu-Ende-Verschlüsselung im Internet verwendet werden. Er kann verwendet werden, um Zertifikate für HTTPS-Verkehr sowie für andere TLS-Protokolle bereitzustellen.
Dieser Dienst benötigt hauptsächlich einen gültigen Hostnamen, wie z.B. my_house.duckdns.org
, und erstellt SSL-Zertifikate mit Let's Encrypt. Neben dem Erhalt der anfänglichen Zertifikate wird auch ein Cron-Job installiert, um sicherzustellen, dass sie automatisch erneuert werden.
Bei der Erneuerung ist es üblich, dass Dienste wie nginx oder mosquitto, die die Zertifikate zur Verschlüsselung ihres TCP-Verkehrs verwenden, neu gestartet werden müssen. Es werden auch Variablen bereitgestellt, die es ermöglichen, dass diese Arten von Vor- und Nachaktionen automatisch ausgeführt werden.
Anforderungen
Eigentlich sollte dies auf jedem Debian-basierten System funktionieren, wurde aber auf einem Raspberry Pi mit Hassbian getestet.
Rollenvariablen
certbot_hostnames
- Z.B.
my_home.duckdns.org,grafana.myhome.duckdns.org
- Dies ist eine durch Kommas getrennte Liste von Hostnamen, für die das SSL-Zertifikat ausgestellt wird.
- Z.B.
certbot_pre_hook
:- Z.B.
systemctl stop nginx
- Dies ist ein beliebiger Shell-Befehl, den Sie vor einer SSL-Zertifikat-Änderung ausführen möchten.
- Z.B.
certbot_post_hook
:- Z.B.
systemctl restart mosquitto; systemctl start nginx
- Dies ist ein beliebiger Shell-Befehl, den Sie nach der Aktualisierung Ihrer SSL-Zertifikate ausführen möchten.
- Z.B.
certbot_email
:- Z.B.
[email protected]
- Dies ist die E-Mail-Adresse, die benachrichtigt wird, wenn Ihr Zertifikat kurz vor dem Ablauf steht (obwohl es automatisch erneuert werden sollte).
- Z.B.
force_new_cert
:- Ein boolescher Wert, der gesetzt werden kann, um ein neues Zertifikat zu erzwingen.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: pi
vars:
certbot_hostnames: 'my_home.duckdns.org,grafana.myhome.duckdns.org'
certbot_pre_hook: 'systemctl stop nginx'
certbot_post_hook: 'systemctl restart mosquitto; systemctl start nginx'
roles:
- role: mpataki.ha-letsencrypt
Lizenz
MIT
ansible-galaxy install mpataki.ha_letsencrypt