Как обновить сертификат для https let's encrypt для проксируемых сервисов

Jan 06, 2017 23:05

Let's encrypt - отличный сервис, дающий бесплатный ssl-сертификат. Но есть нюанс - нужно обновлять сертификат каждые ~2-3 месяца, при этом утилита, которая этим занимается, должна иметь возможность писать в ваш webroot тестовый файл. В случае, когда мы для домена делаем чистый proxy_pass на работающий внутри (докера например) сервис, это становится небольшой проблемой.

Решение в том, что мы знаем в какую папку пишет certbot-auto. Это папка /.well-known в вашем webroot, потому можно добавить простое правило в конфигурацию nginx типа

location /.well-known {
root /usr/share/nginx/html/home;
}

и проверить что тип авторизации certbot'a стоит webroot. Это можно посмотреть в конфигурациях в папке /etc/letsencrypt/renewal

# renew_before_expiry = 30 days
version = 0.9.3
cert = /etc/letsencrypt/live/<ваш домен>/cert.pem
privkey = /etc/letsencrypt/live/<ваш домен>/privkey.pem
chain = /etc/letsencrypt/live/<ваш домен>/chain.pem
fullchain = /etc/letsencrypt/live/<ваш домен>/fullchain.pem

# Options used in the renewal process
[renewalparams]
authenticator = webroot
installer = None
account = <ключ>
[[webroot_map]]
<ваш домен> = <путь к webroot>

Previous post Next post
Up