L-P.acmetool
ansible-roll-acmetool
Installieren, konfigurieren und ausführen von acmetool
, um Let's Encrypt TLS-Zertifikate zu erstellen.
acmetool
wird so konfiguriert, dass es im redirector
-Modus arbeitet. Es hört auf
Port 80 und leitet (HTTP 308) alles um, was keine Challenge-Anfrage ist.
Siehe acme auf GitHub für Details.
Voraussetzungen
become: true
ist erforderlich, da die meisten Aktionen mit Root-Rechten ausgeführt werden müssen. Der Rest wird unteracme
ausgeführt, der durch die Rolle erstellt wird.Sie müssen Port 80/TCP öffnen, damit
acmetool
die Herausforderungen bedienen kann.Da der
redirector
-Modus standardmäßig verwendet wird, ist kein HTTP-Server erforderlich. Sie können jeden Server installieren, den Sie nachdem Sie diese Rolle ausgeführt haben, verwenden möchten, damit er die generierten Zertifikate nutzen kann.Wählen Sie Ihren Anbieter und setzen Sie seinen API-Endpunkt in
acmetool_server
, siehe unten.Das
cron
-Paket ist für die automatische Erneuerung erforderlich.
Variablen der Rolle
Erforderlich
# Adresse, die verwendet wird, um Domains bei LetsEncrypt zu registrieren.
acmetool_email: "[email protected]"
# durch Leerzeichen getrennte Liste der zu registrierenden Domains.
acmetool_domains: "www.beispiel.com beispiel.com"
Andere
# CA-Server. Dies ist standardmäßig der acme-staging-Server zum Testen.
# Sie müssen dies auf den Produktionsserver ändern:
# https://acme-v01.api.letsencrypt.org/directory
acmetool_server: "https://acme.beispiel.com/directory"
# Ändern Sie dies in RSA, wenn Ihr Server EC-Schlüssel (z.B. murmur) nicht unterstützt.
acmetool_key_type: "ecdsa"
# Wenn Sie acmetool nicht vertrauen, um Hooks als Root (sudo) auszuführen, setzen Sie dies auf false.
acmetool_enable_hooks: false
Siehe die Standardwerte für die vollständige Liste.
Beispiel-Playbook
- hosts: all
roles:
- { role: "L-P.acmetool", become: true }
Da auf Debian Dienste automatisch aktiviert und mit ihrer Standardkonfiguration gestartet werden, wird nginx nicht installiert und hinterlässt dpkg in einem halbdefekten Zustand.
Um dies zu vermeiden, können Sie zwischen der Installation von acmetool und nginx das folgende Play ausführen. Es wird nur ausgeführt, wenn nginx noch nicht konfiguriert ist.
- hosts: all
become: true
tasks:
- name: Stoppe acmetool
tags: "nginx"
command: "service acmetool stop"
args:
creates: "/etc/nginx/nginx.conf"
Sie können dies für jeden anderen Dienst anpassen, der auf die gleiche Weise fehlschlägt.
Lizenz
MIT