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
certbot
PPA-Repository hinzufügen - Die Pakete
certbot
undpython-certbot-nginx
installieren - Das
certbot
-Paket wird einenrenew
Cron-Job und einen systemd-Timer hinzufügen (Mehr Informationen) - Ein Let's Encrypt SSL-Zertifikat für den angegebenen
domain_name
generieren.
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_control
deklarieren, um dieitem
-Variable derwith_item
-Schleife mit dem Wertloop_var
alsdomain_name
zu 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