berezuev
@berezuev
#define TRUE FALSE

Let's Encrypt + Nginx + Docker, как обновлять ключи?

В общем, создал Docker-compose приложение, закинул туда ключи SSH, сгенерированные через let's encrypt, после чего 90 дней пролетели очень быстро и срок действия ключа истёк.

Вопрос, как сделать автоматическое обновление ключа внутри контейнера раз в n-дней? Гугл выдает решение для контейнера nginx-proxy, а у меня обычный nginx, и переписывать сейчас, как минимум, неудобно.

Что подскажите?
  • Вопрос задан
  • 3034 просмотра
Решения вопроса 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
В compose-файле:
services:
  ...
  certbot:
    image: certbot/certbot
    volumes:
      /etc/letsencrypt_docker:/etc/letsencrypt
    command: ["renew"]

Сертификаты заводить через
docker-compose run certbot certonly --web-root=/etc/letsencrypt/challenges -d domain
.
В конфигах nginx:
server {
  server_name some.domain;
  ...
  location /.well-known/acme-challenge {
    root /etc/letsencrypt_docker/challenges;
  }
}

В крон
docker-compose -f /path/to/docker-compose.yml up certbot
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Засовываете "certbot-auto renew ; service nginx reload" в кронтаб, ставите выполняться раз в месяц.

Разумеется, нужно правильным образом настроить урл /.well-known/acme-challenge в nginx`е.
Ответ написан
Комментировать
@silverjoe
А в чем проблема сертификаты генерировать на хосте и пробрасывать папку в докер с nginx?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы