Задать вопрос
mazhekin
@mazhekin
Frontend, Backend Web Developer

Как установить ssl сертификат на Ubuntu + docker?

Есть сервер Ubuntu 18 и установлен на него docker. В докере запущены контейнеры, в которых находятся сайты на nginx. Таких контейнеров может быть произвольное количество. Куплен домен типа site.ru. Каждый сайтик контейнер проброшен на внешний порт. Сейчас они(сайты-контейнеры) смотрят в мир по ссылкам.
http://site.ru:8001
http://site.ru:8002 
http://site.ru:8003
и так далее.
У провайдера домена куплен цифровой сертификат. Есть файлы сертификата. Как его установить на сайты с минимальными усилиями?

Чтобы работало так
https://site.ru:8001
https://site.ru:8002 
https://site.ru:8003

И при поднятии контейнеров, не надо было возится и маунтить/устанавливать сертификаты заново к каждому контейнеру.
  • Вопрос задан
  • 1884 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
mazhekin
@mazhekin Автор вопроса
Frontend, Backend Web Developer
Все разобрался, создал один прокси-контейнер nginx туда смаунтил конфиг nginx и сертификат.
Спасибо ребятам из reg.ru помогли настроить сертификат. (как оказалось это не сложно, но я забыл как)
В docker-compose создал сеть типа nginx_net.
И потом каждый новый контейнер, если мне нужно его выставить на новом порту, настраиваю не на внешний порт, а на сеть nginx_net. А внешний порт открываю в прокси-контейнере.

Таким образом, сертификат проброшен только в один контейнер, а остальные контейнеры видят только локальную сеть докера nginx_net и нет необходимости каждый контейнер настраивать на внешние порты, ssl-сертификаты, домены и т.п.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vitaly_il1
DevOps Consulting
Есть один контейнер с тремя виртуальными сайтами? Можно прописать сертификат один раз, см. например https://www.linode.com/docs/web-servers/nginx/enab...

Offtopic: мне трудно представить ситуацию, чтобы :порт был удобнее чем subdomain или site.ru/site2
Ответ написан
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
  1. Сертификат сложить на хост в директорию
  2. Монтировать её в read-only на nginx-ах по одинаковому пути
  3. В конфиге сайта будут одинаковые строчки до сертификата
  4. ?????
  5. PROFIT
Ответ написан
vasilyevmn
@vasilyevmn
DevOps
Одно слово - traefik.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы