Добавление ssl-сертификатов в BitrixVM
19.12.2022
Предположим у нас есть сайт http://site1.bx, и нам нужно переключить работу сайта на защищенный протокол https.
Наши действия будут такими:
- Сначала вы должны получить SSL-сертификат от центра сертификации, который вы выбираете сами. У вас должны быть файлы:
- site1.bx.key - приватный ключ домена (созданный вами на этапе отправки заявки на получение сертификата или присланный центром сертификации)
- site1.bx.crt - публичный сертификат домена (присланный центром сертификации)
- Далее загружаем полученные сертификаты от центра сертификации, например, в директорию
/etc/nginx/ssl/
с помощью любого менеджера файлов по протоколу sftp (например WinSCP). - Дальнейшие команды выполняются в консоли виртуальной машины BitrixVM/BitrixEnv(0. Exit в главном меню) либо аналогичные действия в менеджере файлов, как удобнее.
- При обновлении виртуальной машины BitrixVM/BitrixEnv возможна автоматическая перезапись стандартных файлов nginx, поэтому скопируем файл конфигурации
ssl.conf
в новый файлsite1.bx_ssl.conf
(название файла может быть любым). Для удобства, это делается для каждого сайта, если их у вас несколько:cp /etc/nginx/bx/conf/ssl.conf /etc/nginx/bx/conf/site1.bx_ssl.conf
- Затем редактируем файл
/etc/nginx/bx/conf/site1.bx_ssl.conf
и указываем расположениеsite1.bx.key
(приватный ключ домена) иsite1.bx.crt
(публичный сертификат домена) в директивах nginxssl_certificate_key
иssl_certificate
соответственно.ssl_certificate /etc/nginx/ssl/site1.bx.crt; # публичный сертификат домена ssl_certificate_key /etc/nginx/ssl/site1.bx.key;# приватный ключ домена
- Открываем файл
/etc/nginx/bx/site_avaliable/bx_ext_ssl_site1.bx.conf
и ищем в нем строку:include bx/conf/ssl.conf;
и меняем на:include bx/conf/site1.bx_ssl.conf;
/home/bitrix/www
) файл будет называться/etc/nginx/bx/site_avaliable/s1.ssl.conf
, а для дополнительных сайтов (которые создаются в директории/home/bitrix/ext_www/название_хоста
) -/etc/nginx/bx/site_avaliable/bx_ext_ssl_название_хоста.conf
.
- Проверяем, что конфигурационные файлы nginx без ошибок:
nginx -t
- И если все в порядке, перезапускаем nginx:
CentOS 6:
service nginx restart
CentOS 7:
systemctl restart nginx.service
- Далее можно переключить работу сайта только по протоколу https в меню 6. Mange sites in the pool > 5. Change https settings on site. Как это сделать написано здесь.
- И в административном интерфейсе произвести необходимые настройки для контента сайта. Рекомендации прочитать можно здесь.
Внимание! В случае использования NTLM-авторизации по протоколу https нужно еще также указать пути до SSL-сертификата в файле
/etc/httpd/bx/conf/ntlm_bitrix.conf
.
Теперь даже после обновления виртуальной машины BitrixVM/BitrixEnv, если стандартные файлы конфигурации nginx будут изменены, то сайт продолжит работать по протоколу https.