L-P.simp_le

ansible-role-simp_le

Zainstaluj simp_le, generuj certyfikaty i odnawiaj je automatycznie na serwerach Debian/Ubuntu.

Odnawianie będzie próbowane codziennie za pomocą zadania cron uruchamianego przez użytkownika Ansible.

Zobacz rolę na Ansible Galaxy: L-P.simp_le

Uwaga: Zacząłem używać acmetool i polecam, abyś zrobił to samo na każdym nowym serwerze uruchamiającym Ubuntu ≥ 16.04.

Wymagane zmienne

Lista wirtualnych hostów, dla których wygenerujemy certyfikaty:

simp_le_vhosts:
  - domains: ["www.example.com", "example.com"]
    root: "/path/to/challenges" # dostępne przez HTTP
    output: "/path/to/output/dir" # gdzie zapisać certyfikaty

Adres e-mail, który LetsEncrypt użyje do identyfikacji Ciebie i wysyłania powiadomień o odnowieniach:

simp_le_email: "[email protected]"

Są trzy opcjonalne klucze, które możesz ustawić na hostach:

  • user i group, aby określić, kto będzie właścicielem kluczy, wyzwań i ich katalogu nadrzędnego. Domyślnym właścicielem jest www-data:www-data.
  • extra_args, aby przekazać dodatkowe argumenty do simp_le, można to wykorzystać do użycia serwera staging LetsEncrypt lub do poinformowania simp_le, aby ponownie użył pary kluczy podczas odnawiania certyfikatu. To jest przydatne, jeśli używasz rekordów TLSA, możesz wtedy użyć typu selektora 1 (SubjectPublicKeyInfo) i twój rekord TLSA nie będzie musiał zmieniać się podczas odnawiania certyfikatu.
  • update_action to polecenie do uruchomienia podczas odnawiania certyfikatu, np. systemctl restart apache2

Przykład:

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"

Zobacz defaults/main.yml po więcej konfiguracji.

Konfiguracja serwera

Twój serwer musi obsługiwać pliki wyzwań przez HTTP, oto przykład konfiguracji, której możesz użyć dla nginx, która przekierowuje każde zapytanie HTTP do HTTPS, z wyjątkiem wyzwań:

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;
}

Przykładowy playbook

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

Większość operacji jest wykonywana bez sudo, jednak nadal jest używane do tworzenia różnych katalogów z odpowiednimi uprawnieniami i właścicielami.

O projekcie

simp_le installation and certificate generation for Ubuntu/Debian.

Zainstaluj
ansible-galaxy install L-P.simp_le
Licencja
mit
Pobrania
143
Właściciel