L-P.acmetool
ansible-role-acmetool
Zainstaluj, skonfiguruj i uruchom acmetool
, aby generować certyfikaty TLS Let's Encrypt.
acmetool
zostanie skonfigurowany w trybie redirector
. Będzie nasłuchiwał na porcie 80 i przekierowywał (HTTP 308) wszystko, co nie jest zapytaniem o wyzwanie.
Szczegóły znajdziesz w acme na GitHubie.
Wymagania
Wymagane jest
become: true
, ponieważ większość działań musi być wykonywana jako root, a reszta jakoacme
, który zostanie utworzony przez rolę.Musisz otworzyć port 80/TCP, aby
acmetool
mógł obsługiwać wyzwania.Ponieważ tryb
redirector
jest używany domyślnie, nie jest wymagany żaden serwer HTTP. Możesz zainstalować dowolny serwer, który chcesz używać po uruchomieniu tej roli, aby mógł korzystać z wygenerowanych certyfikatów.Wybierz swojego dostawcę i ustaw jego punkt końcowy API w
acmetool_server
, zobacz poniżej.Pakiet
cron
jest wymagany do automatycznego odnawiania.
Zmienne roli
Wymagane
# Adres używany do rejestracji domen w LetsEncrypt.
acmetool_email: "[email protected]"
# lista domen do zarejestrowania oddzielona spacjami.
acmetool_domains: "www.example.com example.com"
Inne
# Serwer CA. Domyślnie jest to serwer acme-staging do celów testowych.
# Musisz zmienić to na serwer produkcyjny:
# https://acme-v01.api.letsencrypt.org/directory
acmetool_server: "https://acme.example.com/directory"
# Zmień to na RSA, jeśli twój serwer nie obsługuje kluczy EC (np. murmur).
acmetool_key_type: "ecdsa"
# Jeśli nie ufasz acmetool, aby uruchamiać hooki jako root (sudo), ustaw to na false.
acmetool_enable_hooks: false
Zobacz domyślne wartości dla pełnej listy.
Przykład Playbooka
- hosts: all
roles:
- { role: "L-P.acmetool", become: true }
Ponieważ w Debianie usługi są automatycznie włączane i uruchamiane z ich domyślną konfiguracją po zainstalowaniu, nginx będzie miał problem z instalacją i zostawi dpkg w półzepsutym stanie.
Aby tego uniknąć, możesz uruchomić następujący play między instalacją acmetool a nginx. Uruchomi się on tylko, jeśli nginx nie jest jeszcze skonfigurowany.
- hosts: all
become: true
tasks:
- name: Zatrzymaj acmetool
tags: "nginx"
command: "service acmetool stop"
args:
creates: "/etc/nginx/nginx.conf"
Możesz to dostosować do każdej innej usługi, która ma ten sam problem.
Licencja
MIT
ansible-galaxy install L-P.acmetool