Задать вопрос
  • Certbot для NGinx в Docker?

    @chromimon
    Идея работы certboot проста

    1) По определенному URL (/.well-known) certbot размещает данные (файл)
    2) После чего обращается к серверу LetsEncrypt
    3) Сервер LetsEncrypt опрашивает сайт, на котором размещен certbot с разных адресов и тем самым убеждается, что сервер тот, за кого себя выдает.
    4) LetsEncrypt отдает сертификат/ключ certbot`у

    Как сделать:

    1) Использовать certbot в режиме webroot (не nginx)
    2) В nginx прописать ./well-known чтобы указывал туда, куда certbot положит файл, который проверит LetsEncrypt
    3) В nginx указать брать сертификат/ключ оттуда, куда его положит certboot

    Пути к файлам для пунктов 2) и 3) - нужно указывается в параметрах certbot.

    То есть куда кладет файлы certbot - оттуда берет и nginx


    Сертификат LetsEncrypt действует 90 дней, поэтому нужно его обновлять (разумеется, чаще чем раз в 3 месяца)
    Certbot запоминает свои настройки и обновлять чтобы не обязательно все параметры со всеми путями задавать.

    И, разумеется, nginx должен быть доступен снаружи и именно по тому самуму url "/.well-known"

    Готовое решение
    https://github.com/diresi/docker-nginx-certbot
    Ответ написан