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:
- useri- 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_actionto 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.
simp_le installation and certificate generation for Ubuntu/Debian.
ansible-galaxy install L-P.simp_le