Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
nizovtsevnv
6 лет назад

Certbot и Docker - SSL бесплатно всем


Есть в мире организация 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
...и т.д....
144
0.135 GOLOS
На Golos с October 2017
Комментарии (8)
Сортировать по:
Сначала старые