В связи с тем, что многие компании закрывают свои ресурсы для жителей России (как это случилось с GoGetSSL, где я обычно брал бесплатные SSL сертификаты на 3 месяца), возникла потребность в генерации таких сертификатов.
Один из способов – Let’sEncrypt и CertBot.
Исходные данные: ПК с ОС Ubuntu 20.04. Сайт на хостинге, позволяющем загрузить свой SSL сертификат.
Начинаем с установки certbot https://certbot.eff.org/
Рекомендуемый способ установки – через snap. Если он еще не установлен в системе, устанавливаем
sudo apt install snap
Далее, действуем по инструкции с сайта.
Убеждаемся, что стоит последняя версия snapd
sudo snap install core; sudo snap refresh core
Устанавливаем сам certbot
sudo snap install –classic certbot
Создаем линк для запуска
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Переходим к основной части: настройка сертификата.
В моем случае, я хочу только создать сертификат, сам веб сервер находится не на моем компьютере. Поэтому создаем сертификат в ручном режиме.
sudo certbot certonly –manual
Первое, что у нас спрашивают – доменный адрес сайта.
Далее, нам необходимо подтвердить права на домен. Для этого необходимо создать файл на хостинге.
В моем случае подчеркнуто фиолетовым – это имя файла. А вся эта строка – все что до точки и после нее, – это содержимое файла.
По строке http:// … видно, в какое место хостинга необходимо поместить файл. В приведенном примере, необходимо в корневом каталоге сайта создать каталог .well-known (начинается имя именно с точки), в нем еще один каталог acme-challenge, и в нем уже файл с именем KdG4_kyFwm4fiY89X1LUqsxP11o38s503Jaf1xagy30 и содержимым KdG4_kyFwm4fiY89X1LUqsxP11o38s503Jaf1xagy30.MWGYizrt6MKGr9yUMUt4PZ18ZbLVCvGFMsOKEoxp_Ds
После того, как файл создан, нажимаем Enter
После этого сертификаты будут созданы и расположены по пути /etc/letsencrypt/live/domen/
Файл fullchain.pem содержит основной и промежуточный сертификаты, а файл privkey.pem соответственно приватный ключ.
Таким образом, мы создали SSL сертификат сроком действия на 3 месяца. Именно так был создан сертификат для данного сайта)
Для автоматизации процесса необходимо использование дополнительных плагинов, или же просто еще раз пройти всю процедуру генерации сертификата.
Надеюсь, материал был полезен и поможет создавать сертификаты для сайтов самостоятельно.