Есть в мире организация Letsencrypt поставившая своей целью SSL для каждого, они же взялись да и автоматизировали процесс получения и обновления сертификатов без человеческого участия, назвали этот проект Certbot.
Их чаяниями собирается образ certbot/certbot в публичном репозитории Docker. Единственное, что в их реализации не устраивает,- не всегда удобное конфигурирование.
Мой вариант образа изначально настроен для использования со сторонним веб-прокси сервером, например Nginx, через выделение общих каталогов для webroot-верификации и сертификатов. Для настройки списка доменов и почтового адреса используются переменные окружения.
На примере Nginx, потребуется:
- указать общие каталоги разделяемые с Certbot при запуске Nginx:
docker run -d \
-v certbot_certs:/etc/letsencrypt:ro \
-v certbot_webroot:/usr/share/nginx/html:ro \
...прочие_параметры...
nginx:alpine
- добавить в настройки HTTP каждого домена кусок отвечающий за протокол проверки владения доменом:
location ^~ /.well-known/acme-challenge/ {
auth_basic off;
allow all;
root /usr/share/nginx/html;
try_files $uri =404;
break;
}
- добавить в настройки HTTPS каждого домена кусок указывающий размещение SSL сертификата:
ssl_certificate /etc/letsencrypt/live/МОЙ1.ДОМЕН/cert.pem;
ssl_certificate /etc/letsencrypt/live/МОЙ1.ДОМЕН/privkey.pem;
После настройки сервера проксирующего веб-трафик осталось лишь запустить контейнер Certbot...
Запуск контейнера на получение и обновление сертификатов
docker run -d \
-e DOMAINS=МОЙ1.ДОМЕН МОЙ2.ДОМЕН ...
-e EMAIL=МОЯ@ПОЧТА
-v certbot_certs:/etc/letsencrypt:rw \
-v certbot_webroot:/webroot:rw \
nizovtsevnv/certbot
Конфигурация для docker-compose / docker stack
version: "3.7"
services:
certbot:
environment:
- DOMAINS=МОЙ1.ДОМЕН МОЙ2.ДОМЕН ...
- EMAIL=МОЯ@ПОЧТА
image: nizovtsevnv/certbot
volumes:
- certbot_certs:/etc/letsencrypt:rw
- certbot_webroot:/webroot:rw
...и т.д....
@nizovtsevnv Поздравляю! Вы получили личную награду!
С Днём Рождения - 2 лет на Голосе
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы получили первый ответ
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Вы получили свою первую выплату
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
@nizovtsevnv, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Награда за количество полученных голосов
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Не пропустите прочитать последний пост в Доске почета!