SSL сертификаты для сайта в наше время очень нужны. Получить их можно абсолютно бесплатно. В этом нам поможет docker и certbot.
Предположим, у Вас уже есть сайт на каком-то сервере, куда есть полный доступ по ssh. Устанавливаем на сервер docker по официальной инструкции и приступаем к работе с нашими сертификатами.
Создаем где-то на сервере папку certbot.
Предположим, что это /root/certbot.
Создаем в ней следующие пути: /data/etc и /data/lib - там certbot будет хранить свои конфигурации
Помещаем туда файл run.sh следующего содержания:
https://pastebin.com/9Pknbx0Q - код файла текстом.
Остановимся подробнее на строчке -v /var/www/html/mysite - мы прокидываем внутрь контейнера ту папку, где хранится webroot нашего сайта. Это необходимо для выпуска сертификатов.
Настало время теста выпуска сертификатов:
/root/certbot/run.sh certonly --webroot -w /var/www/html/mysite -d mysite.com -d www.mysite.com --dry-run
Будет запущен certbot, который проверит возможность выдачи нам двух сертификатов. Для mysite.com и www.mysite.com
Если, во время выполнения, не было выдано никаких ошибок - можно запускать реальный выпуск сертификата. Для этого удаляется флаг --dry-run
/root/certbot/run.sh certonly --webroot -w /var/www/html/mysite -d mysite.com -d www.mysite.com
По ходу выполнения, certbot может задать Вам несколько вопросов по поводу контактного email, имени компании и прочего - заполняйте их, исходя из Ваших реальных данных.
Когда сертификаты выданы, certbot разместит их в папке /root/certbot/data/etc/live/mysite.com/ - остается только перенастроить Ваш сервер для их использования.
Вторым важным шагом является настройка периодического обновления сертификатов.
Для этого необходимо добавить в ваш cron следующую команду:
9 */12 * * * /root/certbot/run.sh renew -q
Каждые 12 часов в 9 минут мы продлеваем Ваши сертификаты.
Вот и все. Не тратя ни копейки, Ваше приложение защищено ssl сертификатом.