При работе с продвигающимися сразу во многих регионах России интернет-магазинами часто приходится использовать Wildcard SSL-сертификаты. Ранее я описывал процесс установки такого сертификата на BitrixVM и рекомендовал пользоваться для выпуска сертификатов бесплатным онлайн-сервисом SSL For Free.
Но время идет и все меняется — некогда бесплатный SSL For Free превратился в лендинг для коммерческого сервиса ZeroSSL, который просит за выпуск Wildcard-сертификата совершенно неадекватные для такой простой услуги деньги.
Поэтому в новой статье я опишу как выпускать SSL-сертификаты собственными силами.
Что нужно для выпуска Wildcard сертификата
- Любое устройство под управлением Linux. Можно использовать VPS, локальный сервер на Linux или микрокомпьютер Raspberry Pi. Основное требование — наличие root-доступа к устройству, поэтому для этих целей не подойдет виртуальный хостинг
- Доступ к редактированию DNS-записей домена
Генерация сертификата
Для генерации сертификатов мы будем использовать скрипт acme.sh, которому необходим для работы пакет OpenSSL. Вероятнее всего этот пакет установлен в системе по умолчанию, но если нет — его можно установить следующей командой:
sudo apt-get install openssl
Теперь загрузим сам скрипт:
curl https://get.acme.sh | sh
Перейдем в папку со скриптом:
cd .acme.sh
И запустим выпуск сертификата для домена site.ru и всех его поддоменов по маске *.site.ru:
./acme.sh --issue -d site.ru -d '*.site.ru' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
Обратите внимание на забавно выглядящий параметр —yes-I-know-dns-manual-mode-enough-go-ahead-please, вводить его нужно обязательно. Без него генерация сертификата не будет запущена.
В процессе выпуска сертификата в консоли появятся две TXT-записи, которые нужно прописать в настройках DNS домена для подтверждения прав на управление им:
После того как TXT-записи будут записаны и применятся (как правило, для этого нужно подождать от нескольких минут до часа), нам нужно будет перевыпустить сертификат для того же домена:
./acme.sh -d site.ru -d '*.site.ru' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please --renew
Найти выпущенный сертификат можно будет в папке /.acme.sh/site.ru/:
А затем установить их привычным для себя путем. Если речь идет о виртуальном хостинге, то скопировать содержимое файлов в соответствующие формы в админке. Если используется VPS или VDS, то сертификаты нужно расположить на самом сервере и прописать путь к ним в конфиге Nginx или Apache.