Подключаем сертификат Let's Encrypt к сайту на docksal

ivnish 25 февраля в 10:47
1

Данная инструкция тестировалась на Ubuntu 20.04 и Debian 10

Для того, чтобы запустить сайт в docksal с использованием HTTPS, необходимо:

  1. Устанавливаем certbot, если еще нет sudo apt install certbot
  2. Создаем каталог ~/.docksal/certs/ если он еще не существует
  3. Останавливаем docksal-vhost-proxy docker stop docksal-vhost-proxy, чтобы освободить 80 порт
  4. Запрашиваем сертификат sudo certbot certonly --standalone -d example.com
  5. Копируем файлы приватного и публичного ключей (privkey1.pem, cert1.pem) в каталог ~/.docksal/certs/
  6. Меняем владельца файлов сертификатов с root на вашего пользователя, от имени которого работает docksal
  7. Переименовываем их в example.com.crt и example.com.key
  8. Перезапускаем docksal-vhost-proxy docker start docksal-vhost-proxy
  9. Проверяем сертификат в браузере

Автор

ivnish Drupal FullStack Developer, модератор drupal.ru

Комментарии

Аватар пользователя bsyomov bsyomov 25 февраля в 13:07
2

Увы, но это не лучшая инструкция: Через три месяца сертификат кончится. А обновляться будет не тот, который был скопирован в папку docksal.

Такие вещи автоматизируются через deploy hook certbot, например, где надо выполнять 5, 6, 7 пункты.
Или можно терминировать ssl до docksal, используя какой-нибудь reverse-proxy, например nginx запускаемый на уровне системы и имеющий доступ к сертификатам certbot...

Хотя не очень понятно, зачем это нужно - в продакшене это всё равно использовать нельзя, а для разработки, не нужны в общем-то валидные сертификаты - самоподписанного вполне достаточно.

Аватар пользователя ivnish ivnish 25 февраля в 14:07

Привет, Борис, спасибо за развёрнутый комментарий. Понимаю твое недоумение, но это временное решение для dev-сайта для тестирования PWA. Я не уверен, что с самоподписанным сертом можно будет нормально протестировать PWA, поэтому решил сделать нормальный серт от LE

bsyomov wrote: Через три месяца сертификат кончится

Надеюсь, что через 3 месяца проект уже будет сдан клиенту и dev-сервер можно будет удалить Smile

bsyomov wrote: Такие вещи автоматизируются через deploy hook certbot

Спасибо за идею

Аватар пользователя bsyomov bsyomov 25 февраля в 22:47

ivnish wrote: Понимаю твое недоумение, но это временное решение для dev-сайта для тестирования PWA.

И этого важного факта в инструкции нет, а проекты не всегда делаются за три месяца.

ivnish wrote: Я не уверен, что с самоподписанным сертом можно будет нормально протестировать PWA

А что помешает? Его вполне можно сделать локально доверенным. Так чаще всего и делают.