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
igroup
, aby określić, kto będzie właścicielem kluczy, wyzwań i ich katalogu nadrzędnego. Domyślnym właścicielem jestwww-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.
simp_le installation and certificate generation for Ubuntu/Debian.
ansible-galaxy install L-P.simp_le