thermistor.acme_sh

Aktuelles Tag

acme_sh

Richten Sie acme.sh im DNS-API-Modus über Ansible ein, um Zertifikate von letsencrypt.org zu generieren.

Abhängigkeiten

Viele Voreinstellungen setzen voraus, dass Nginx verwendet wird.

Variablen

Hier sind einige Standardwerte, die das Verhalten steuern:

acme_sh_autoupgrade: True
acme_sh_server: letsencrypt
acme_sh_notify: False
acme_sh_logging: False
acme_sh_keylength: 4096
acme_sh_dns_sleep: 120

acme_sh_certs_public_dir: /etc/nginx/certs
acme_sh_certs_private_dir: /etc/nginx/private
acme_sh_reload_cmd: /bin/systemctl reload nginx

Beispiel-Playbook

Hier ist ein Beispiel, das die AWS Route53 API verwendet. Sie können es jedoch für jeden DNS-API-Anbieter anpassen.

Verwendung:

- hosts: server
  roles:
    - role: thermistor.acme_sh
      acme_sh_subject_names:
        - example.com
        - www.example.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ your_vault_aws_access_key_id }}"
        AWS_SECRET_ACCESS_KEY: "{{ your_vault_aws_secret_access_key }}"

Hier ist das gleiche Beispiel, aber mit aktivierter Protokollierung:

- hosts: server
  roles:
    - role: thermistor.acme_sh
      acme_sh_logging: True
      acme_sh_subject_names:
        - example.com
        - www.example.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ your_vault_aws_access_key_id }}"
        AWS_SECRET_ACCESS_KEY: "{{ your_vault_aws_secret_access_key }}"

Und mit Mailgun-Benachrichtigungen:

- hosts: server
  roles:
    - role: thermistor.acme_sh
      acme_sh_notify: True
      acme_sh_notify_hooks:
        - mailgun
      acme_sh_subject_names:
        - example.com
        - www.example.com
      acme_sh_dns_provider: dns_aws
      acme_sh_env:
        AWS_ACCESS_KEY_ID: "{{ your_vault_aws_access_key_id }}"
        AWS_SECRET_ACCESS_KEY: "{{ your_vault_aws_secret_access_key }}"
        MAILGUN_API_KEY: "{{ your_vault_mailgun_api_key }}"
        MAILGUN_API_DOMAIN: "{{ your_vault_mailgun_domain }}"
        MAILGUN_FROM: "{{ your_vault_mailgun_from }}"
        MAILGUN_TO: "{{ your_vault_mailgun_to }}"

Was im Hintergrund passiert

Wenn Sie ein Zertifikat für example.com generieren, kopiert diese Rolle während der Installationsschritte die Datei /var/lib/acme/.acme.sh/example.com/fullchain.cer und installiert sie als /etc/nginx/certs/example.com.cer. Beachten Sie, dass das fullchain-Zertifikat installiert und umbenannt wird, damit Sie bei Bedarf mehrere Fullchain-Zertifikate für verschiedene Domains installieren können.

Fehlersuche

Wenn es zu Problemen mit der Zertifikatskonfiguration kommt und keine Zertifikate neu installiert werden, können Sie die Zertifikate mit folgendem Befehl neu installieren:

ansible-playbook -i inventory playbook.yml -e "acme_sh_force_install=True" --tags acme_sh_cert_install

Lizenz

MIT

Alternativen

Wir haben viel von diesen Alternativen übernommen:

Über das Projekt

Configure acme.sh

Installieren
ansible-galaxy install thermistor.acme_sh
GitHub Repository
Lizenz
Unknown
Downloads
177
Besitzer
Product guy