coopdevs.certbot_nginx
Certbot NGINX
Ein einfaches Ansible-Rollenpaket zur Installation von certbot mit dem NGINX-Plugin auf Ubuntu 16.04 und Ubuntu 18.04.
Diese Rolle wird:
- Das
certbotPPA-Repository hinzufügen - Die Pakete
certbotundpython-certbot-nginxinstallieren - Das
certbot-Paket wird einenrenewCron-Job und einen systemd-Timer hinzufügen (Mehr Informationen) - Ein Let's Encrypt SSL-Zertifikat für den angegebenen
domain_namegenerieren.
Warnung
Wenn Sie bereits Nginx installiert haben und eine Seite konfiguriert ist, die auf Dateien in /etc/letsencrypt zeigt, wird die Zertifikatserstellung fehlschlagen (Beispiel).
Es wird empfohlen, diese Rolle vor jeder anderen Rolle auszuführen, die Nginx installiert und konfiguriert.
Rollenvariablen
domain_name: www.mydomain.io
letsencrypt_email: [email protected]
certbot_nginx_cert_name: mycert # optional
certbot_version: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # optional
certbot_nginx_version: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # optional
Wenn gesetzt, wird der Wert von certbot_nginx_cert_name als Argument --cert-name an Certbot übergeben, welches zur Identifizierung des Zertifikats im Certbot-Befehl wie z.B. certbot delete verwendet wird. Sie sehen eine Liste der Zertifikate, die mit diesem Namen identifiziert werden, wenn Sie certbot certificates ausführen. Dieser Name wird auch als Dateipfad für das Zertifikat in /etc/letsencrypt/live/ verwendet.
Beispiel-Playbook - Einzelnes Zertifikat
# Playbook
- hosts: servers
roles:
- role: coopdevs.certbot_nginx
vars:
domain_name: www.mydomain.io
letsencrypt_email: [email protected]
Beispiel-Playbook - Erstellung mehrerer Zertifikate
Ermöglicht auch die Erstellung und Verwaltung mehrerer Zertifikate auf demselben Host.
Sie können die Variable domain_names definieren und eine Rolle konfigurieren, um diese Rolle in einer Schleife einzuschließen.
# Playbook
- hosts: servers
roles:
- role: coopdevs.certbot_nginx
vars:
letsencrypt_email: [email protected]
- role: certificates
vars:
domain_names:
- community.coopdevs.org
- forms.coopdevs.org
Erstellen Sie eine benutzerdefinierte Rolle, die die Rolle certbot_nginx einschließt und die Zertifikate generiert:
# certificates.yml Rolle
---
- name: SSL-Zertifikate installieren
include_role:
name: vendor/coopdevs.certbot_nginx
tasks_from: certificate.yml
with_items: "{{ domain_names }}"
loop_control:
loop_var: domain_name
Sie müssen
loop_controldeklarieren, um dieitem-Variable derwith_item-Schleife mit dem Wertloop_varalsdomain_namezu verbinden. Weitere Informationen finden Sie in der Dokumentation zuloop_control.
Aktualisierung vorhandener Zertifikate
Wenn sich die Details Ihrer Website seit der Erstellung des Zertifikats geändert haben, können Sie die Liste der Domains aktualisieren. Die Rolle überprüft den Unterschied zwischen den in dem Zertifikat vorhandenen Domains und der bereitgestellten Liste, um zu entscheiden, ob das Zertifikat erneuert werden muss oder nicht. Wenn Sie den Erneuerungsprozess erzwingen möchten, können Sie dies tun, indem Sie certbot_force_update: true definieren oder --extra-vars "certbot_force_update=true" über die Kommandozeile übergeben.
Let's Encrypt Staging-Umgebung
Diese Rolle enthält die Variable letsencrypt_staging, die standardmäßig auf nein gesetzt ist. Für Entwicklungs- oder Debugging-Zwecke kann sie auf ja gesetzt werden, zum Beispiel durch Übergabe von Variablen über die Kommandozeile --extra-vars "letsencrypt_staging=yes".
Dies führt zur Verwendung der Let's Encrypt Staging-Umgebung und verringert die Wahrscheinlichkeit, dass Sie auf Ratenlimits stoßen.
Lizenz
BSD
Autoreninformation
Coopdevs http://coopdevs.org
free software for Social and Solidarity Economy
ansible-galaxy install coopdevs.certbot_nginx