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:

  1. Das certbot PPA-Repository hinzufügen
  2. Die Pakete certbot und python-certbot-nginx installieren
  3. Das certbot-Paket wird einen renew Cron-Job und einen systemd-Timer hinzufügen (Mehr Informationen)
  4. 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 die item-Variable der with_item-Schleife mit dem Wert loop_var als domain_name zu verbinden. Weitere Informationen finden Sie in der Dokumentation zu loop_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

Über das Projekt

free software for Social and Solidarity Economy

Installieren
ansible-galaxy install coopdevs.certbot_nginx
Lizenz
Unknown
Downloads
36.4k
Besitzer
Coopdevs, Free and Open Source Software for Social and Solidarity Economy.