Найти тему
Всем полезное

Устанавливаем бесплатный SSL-сертификат от Let's Encrypt на Битрикс24 (VMBitrix)

Чтобы в Bitrix VM установить SSL сертификат от Let’s Encrypt для начала его нужно нам получить. Как получим бесплатный сертификат и установим его не сервер мы сделаем автоматическое задание на его перевыпуск. Для начала нужно установить certbot от Let’s Encrypt для автоматизации процесса получения бесплатных сертификатов а после и для автоматизации перевыпуска. В моём случае я прикручивал бесплатный SSL (для доступа по https) сертификат Let’s Encrypt на виртуальную машину Битрикс 24 (Bitrix VM).

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
yum install certbot

Для получения сертификата certbot'у нужен будет доступ через 443 порт и для этого мы пока временно потушим работу nginx, так как он занимает этот порт.

systemctl stop nginx

А теперь выпустим сам сертификат. В процессе выпуска нас попросят ввести email и ответить на пару вопросов о соглашении и т. д.

certbot certonly --standalone -d site.ru -d www.site.ru

При успешном выполнении операции вы увидите сообщение наподобие

Waiting for verification...

Cleaning up challenges

Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem

Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

IMPORTANT NOTES:

- Congratulations! Your certificate and chain have been saved at:

/etc/letsencrypt/live/mywebsite.com-0001/fullchain.pem

Your key file has been saved at:

/etc/letsencrypt/live/mywebsite.com-0001/privkey.pem

Your cert will expire on 2019-02-27. To obtain a new or tweaked

version of this certificate in the future, simply run certbot again

with the “certonly” option. To non-interactively renew all of

your certificates, run “certbot renew”

- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.prg/donate

Donating to EFF: https://eff.org/donate-le

Мы получили наши сертификаты и они лежат тут:

/etc/letsencrypt/live/site.ru/

Добавляем SSL-сертификаты в конфиги nginx для Битрикс24

Теперь прикручиваем сертификаты к сайту.

Открываем файл /etc/nginx/bx/conf/ssl.conf и заменяем в нём следующие строки

ssl_certificate /etc/nginx/ssl/cert.pem;

ssl_certificate_key /etc/nginx/ssl/cert.pem;

На пути к нашим новеньким сертификатам:

ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;

После этого необходимо рестартануть наш nginx:

systemctl restart nginx

Теперь можно проверить доступен ли наш сайт по ссылке

https://site.ru

Если сайт открылся, то в меню VMBitrix переходим по

6. Configure pool sites 5. Change a site's https settings и отключаем доступ по HTTP.

Меню виртуальной машины Bitrix 7.4.3

Как настроить автоматическое продление бесплатного SSL сертификата

Так как бесплатный SSL-сертификат имеет срок действия 90 дней, то нам нужно предусмотреть механизм автоматического обновления сертификата. Это можно сделать вручную, выполнив команду на сервере:

certbot renew

И все сертификаты, которые истекают менее чем через 30 дней будут обновлены на новые. Но нам нужно это автоматизировать. Для этого в cron добавим задание.

Выполняем команду:

crontab -e

Откроется при помощи Vi редактора. дула добавляем задание, которое будет выполняться ежедневно в 03:30:

30 3 * * * /usr/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

На этом нашу настройку бесплатного сертификата Битрикс24 считаю законченной!