Let's Encrypt - это бесплатный SSL-сертификат, выпускаемый на срок до 90 дней.
При использовании OS Bitrix 7 можно сгенерировать Let's Encrypt как средствами самой системы (начиная с версии Bitrix 7.2.0), так и вручную.
Получение и установка Let's Encrypt через меню Bitrix
- Перейдите в меню по разделам: 8. Manage pool web servers -> 3. Configure certificates -> 1. Configure Let's encrypt certificate.
- Укажите следующие данные:
• сайт, для которого заказывается SSL (можно указать сразу несколько сайтов, для этого перечислите их через запятую: site.ru, site2.ru, site3.com);
• доменные имена сайтов (также через запятую);
• контактный e-mail для уведомлений от Let's Encrypt.
- Подтвердите действие, нажав Y.
После сертификат будет автоматически выпущен и установлен.
По информации от Bitrix, выпущенный таким образом сертификат должен автоматически перевыпускаться до истечения срока действия. Если по какой-то причине автопродление не сработало (наши пользователи сообщали о таких случаях), требуется выпустить новый сертификат по этой же инструкции.
Также можно воспользоваться инструкцией ниже, чтобы выпустить и установить Let's Encrypt вручную и настроить его продление через задачу Crontab - в этом случае обновление сертификата будет выполняться в автоматическом режиме.
Получение сертификата вручную
Установите пакет GIT:
yum install git
Создайте директорию letsencrypt и перейдите в нее:
mkdir /opt/letsencrypt && cd "$_"
Скопируйте репозиторий certbot - это инструмент, который поможет получить сертификат и продлевать его:
git clone https://github.com/certbot/certbot
Перейдите в директорию с полученным ПО:
cd certbot
Выполните следующую команду для получения сертификата (также будут установлены все зависимости для certbot), указав в ней необходимые данные. В процессе потребуется нажать клавишу Y для ответа на запрос "
Is this ok [y/d/N]
:"./certbot-auto certonly --webroot --agree-tos --email admin@email.ru -w /path/to/dir/site/ -d domain.ru -d www.domain.ru
- admin@email.ru - e-mail администратора домена;
- /path/to/dir/site/ - полный путь до директории с файлами сайта;
- domain.ru и www.domain.ru - домены, для которых будет сгенерирован сертификат (можно указать несколько доменов, перед каждым необходимо указать ключ -d).
По окончании процесса, если он прошел успешно, отобразится следующий текст, где будет указан путь к сертификату (fullchain.pem) и приватному ключу в незашифрованном виде (privkey.pem):
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/domain.ru/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/domain.ru/privkey.pem Your cert will expire on 2017-12-16. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew"
Далее полученный сертификат необходимо установить.
Продление сертификата
Для автоматического продления сертификатов Let's Encrypt на BitrixOS необходимо добавить соответствующее задание в crtontab.
Проверьте возможность обновления сертификата после установки
/opt/letsencrypt/certbot/certbot-auto renew --dry-run
Откройте crontab:
crontab -e
Добавьте задачу:
43 6 * * * /opt/letsencrypt/certbot/certbot-auto renew --post-hook "systemctl reload nginx"
Согласно данному заданию, ежедневно в 6:43 будет проводиться проверка необходимости обновления сертификата.