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>