L-P.simp_le

ansible-role-simp_le

Installieren Sie simp_le, generieren Sie Zertifikate und erneuern Sie diese automatisch auf Debian/Ubuntu-Servern.

Die Erneuerung wird täglich über einen Cron-Job versucht, der vom Ansible-Remote-Benutzer ausgeführt wird.

Siehe die Rolle auf Ansible Galaxy: L-P.simp_le

Hinweis: Ich habe angefangen, acmetool zu verwenden und empfehle, dass Sie das Gleiche für jeden neuen Server machen, der Ubuntu ≥ 16.04 verwendet.

Benötigte Variablen

Eine Liste von virtuellen Hosts, für die wir Zertifikate generieren werden:

simp_le_vhosts:
  - domains: ["www.example.com", "example.com"]
    root: "/path/to/challenges" # über HTTP zugänglich
    output: "/path/to/output/dir" # wo die Zertifikate gespeichert werden

Eine E-Mail-Adresse, die LetsEncrypt verwenden wird, um Sie zu identifizieren und Erneuerungsbenachrichtigungen zu senden:

simp_le_email: "[email protected]"

Es gibt drei optionale Schlüssel, die Sie für Hosts festlegen können:

  • user und group, um festzulegen, wem die Schlüssel, Herausforderungen und deren übergeordnetes Verzeichnis gehören. Der Eigentümer ist standardmäßig www-data:www-data.
  • extra_args, um zusätzliche Argumente an simp_le zu übergeben. Dies kann verwendet werden, um den LetsEncrypt-Testserver zu nutzen oder simp_le anzuweisen, das Schlüsselpaar bei der Erneuerung des Zertifikats wiederzuverwenden. Dies ist nützlich, wenn Sie TLSA-Datensätze verwenden; dann können Sie den Selektor Typ 1 (SubjectPublicKeyInfo) verwenden und Ihr TLSA-Datensatz muss bei der Erneuerung des Zertifikats nicht geändert werden.
  • update_action, ein Befehl, der bei einer Zertifikatserneuerung ausgeführt werden soll, z.B. systemctl restart apache2

Beispiel:

simp_le_vhosts:
  - domains: ["smtp.example.com", "mail.example.com"]
    root: "/path/to/challenges"
    output: "/path/to/output/dir"
    user: "Debian-exim"
    group: "Debian-exim"
    extra_args: "--reuse_key --server https://acme-staging.api.letsencrypt.org/directory"
    update_action: "/bin/systemctl restart exim4"

Siehe defaults/main.yml für weitere Konfiguration.

Serverkonfiguration

Ihr Server muss die Challenge-Dateien über HTTP bereitstellen. Hier ist ein Beispiel für eine nginx-Konfiguration, die jede HTTP-Anfrage auf HTTPS umleitet, außer für die Herausforderungen:

location /.well-known/acme-challenge/ {
    alias /var/www/challenges/.well-known/acme-challenge/;
    try_files $uri @forward_https;
}
location @forward_https {
    return 301 https://example.com$request_uri;
}
location / {
    return 301 https://example.com$request_uri;
}

Beispiel-Playbook

- hosts: all
  roles:
    - {role: "L-P.simp_le", become: no}

Während die meisten Operationen ohne sudo ausgeführt werden, wird es dennoch verwendet, um die verschiedenen Verzeichnisse mit den richtigen Berechtigungen und Besitzern zu erstellen.

Über das Projekt

simp_le installation and certificate generation for Ubuntu/Debian.

Installieren
ansible-galaxy install L-P.simp_le
Lizenz
mit
Downloads
143
Besitzer