Автоматическое получение SSL сертификатов
У меня есть свой DNS сервер на BIND9 далее он направляет на сервак nginx. Иногда для работы мне приходится брать доменные адреса и каждый раз в ручную получать на них сертификаты.
Подскажите пожалуйста как можно получать автоматически ssl сертификаты от let's encrypt без моего участия и траты лишнего времени на этот процесс?
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Чтоб не отвечать на вопросы передай ему ответы через параметры.
-n Run non-interactively
--agree-tos Agree to the ACME server's Subscriber Agreement
-m EMAIL Email address for important account notifications
Автоматическое подтверждение через bind
Настройка
/etc/bind/named.conf.local
key "letsencrypt-key" {
algorithm hmac-sha256;
secret "Ваш секретный ключ";
};
/etc/bind/named.conf.zones
zone "example.ru" {
type master;
file "/etc/bind/example.ru";
// allow-update {
// //none;
// key letsencrypt-key.;
// };
///....;
update-policy {
grant letsencrypt-key. name _acme-challenge.example.ru. TXT;
grant letsencrypt-key. name _acme-challenge.sub.example.ru. TXT;
grant letsencrypt-key. wildcard *.example.ru. TXT;
deny letsencrypt-key. name mail._domainkey.example.ru. TXT;
deny letsencrypt-key. name example.ru. TXT;
};
};
Получение сертификата на внутренний домен
Установка
apt install certbot python3-certbot-dns-rfc2136 python3-certbot-nginx
Настройка
Прописать ключик в /etc/letsencrypt/rfc2136.ini
# Target DNS server (IPv4 or IPv6 address, not a hostname)
dns_rfc2136_server = Айпишник бинда
# Target DNS port
dns_rfc2136_port = 53
# TSIG key name
dns_rfc2136_name = letsencrypt-key.
# TSIG key secret
dns_rfc2136_secret = Ваш секретный ключ
# TSIG key algorithm
dns_rfc2136_algorithm = HMAC-SHA256
# TSIG sign SOA query (optional, default: false)
dns_rfc2136_sign_query = false
Получение сертификата
certbot certonly --dns-rfc2136 \
--dns-rfc2136-credentials=/etc/letsencrypt/rfc2136.ini \
-d example.ru
Получение с установкой в nginx (reload при обновлении)
certbot --installer nginx --dns-rfc2136 \
--dns-rfc2136-credentials=/etc/letsencrypt/rfc2136.ini \
-d examle.ru