Данная инструкция тестировалась на Ubuntu 20.04 и Debian 10
Для того, чтобы запустить сайт в docksal с использованием HTTPS, необходимо:
- Устанавливаем certbot, если еще нет sudo apt install certbot
- Создаем каталог ~/.docksal/certs/ если он еще не существует
- Останавливаем docksal-vhost-proxy docker stop docksal-vhost-proxy, чтобы освободить 80 порт
- Запрашиваем сертификат sudo certbot certonly --standalone -d example.com
- Копируем файлы приватного и публичного ключей (privkey1.pem, cert1.pem) в каталог ~/.docksal/certs/
- Меняем владельца файлов сертификатов с root на вашего пользователя, от имени которого работает docksal
- Переименовываем их в example.com.crt и example.com.key
- Перезапускаем docksal-vhost-proxy docker start docksal-vhost-proxy
- Проверяем сертификат в браузере
Комментарии
Увы, но это не лучшая инструкция: Через три месяца сертификат кончится. А обновляться будет не тот, который был скопирован в папку docksal.
Такие вещи автоматизируются через deploy hook certbot, например, где надо выполнять 5, 6, 7 пункты.
Или можно терминировать ssl до docksal, используя какой-нибудь reverse-proxy, например nginx запускаемый на уровне системы и имеющий доступ к сертификатам certbot...
Хотя не очень понятно, зачем это нужно - в продакшене это всё равно использовать нельзя, а для разработки, не нужны в общем-то валидные сертификаты - самоподписанного вполне достаточно.
Привет, Борис, спасибо за развёрнутый комментарий. Понимаю твое недоумение, но это временное решение для dev-сайта для тестирования PWA. Я не уверен, что с самоподписанным сертом можно будет нормально протестировать PWA, поэтому решил сделать нормальный серт от LE
Надеюсь, что через 3 месяца проект уже будет сдан клиенту и dev-сервер можно будет удалить
Спасибо за идею
И этого важного факта в инструкции нет, а проекты не всегда делаются за три месяца.
А что помешает? Его вполне можно сделать локально доверенным. Так чаще всего и делают.
Есть инструкция на оффсайте: https://docs.docksal.io/tools/mkcert/#setup-and-usage-via-addon
В моем мануале речь про global trusted сертификат