Установка SSL-сертификата на сервер с Битрикс

Сайты, размещённые на серверах с окружением Битрикс, требуют преимущественно ручной настройки, в том числе для установки SSL-сертификатов. Тем не менее этот процесс несложен даже для начинающих администраторов.

Для установки SSL-сертификата потребуются:  

  • Сервер с VM Битрикс и размещённым сайтом;
  • Файлы SSL-сертификата для установки (файл сертификата с расширением .crt, файл секретного ключа .key и файл цепочки сертификатов .ca-bundle).

Если сертификат приобретён у нас, скачать файлы сертификата для установки можно в Личном кабинете. Выберите сертификат, сверху Просмотр  в конце страницы будут ссылки для скачивания. 

Если и сайт, на который приобретён сертификат, размещён у нас — сертификат установим сами бесплатно. Для этого напишите запрос в службу поддержки.

Процесс установки

В первую очередь открываем файл .ca-bundle и копируем его содержимое в файл .crt после уже имеющегося текста:

*итоговое количество сертификатов в конечном файле может отличаться в зависимости от типа сертификата. Для некоторых типов доступно от 2 до 4 промежуточных сертификатов в цепочке — итого в конечном файле получится от 3 до 5 блоков -----BEGIN...END-----.

 

Теперь загружаем получившиеся файлы на сервер. 

Для этого подключаемся к серверу по SFTP, например, с помощью WinSCP или Filezilla. Доступы к серверу указаны в Личном кабинете: выберите сервер, сверху Инструкция (раздел Доступ к серверу для администратора). 

При подключении укажите IP-адрес сервера, логин root, пароль и порт 22:

 

Система запросит подтверждение соединения — соглашаемся:

 

Откроется окно для работы с файлами. В нём по умолчанию домашняя папка пользователя root, переходим на уровень выше: 

 

Последовательно переходим в папку /etc/nginx/ssl и загружаем в неё наши файлы сертификата и ключа (.crt и .key):

 

Подтверждаем загрузку, по завершении выходим из SFTP-клиента.

Следующий шаг — подключаемся к серверу по SSH с данными root. Для выхода из меню Битрикс вводим 0 - Enter.

 

При обновлении окружения Битрикс до новых версий стандартные конфигурационные файлы, с которыми будем работать, могут быть перезаписаны. Для подстраховки создадим отдельный конфигурационный файл для нашего сайта (или несколько файлов, если сайтов несколько):

cp /etc/nginx/bx/conf/ssl.conf /etc/nginx/bx/conf/sslgo.fvds.ru_ssl.conf

 

Теперь в созданном файле

/etc/nginx/bx/conf/sslgo.fvds.ru_ssl.conf

укажем пути к файлам сертификата. Сделать это можно с помощью стандартного редактора vi или любого другого (nano, ee — если установлены).

vi /etc/nginx/bx/conf/sslgo.fvds.ru_ssl.conf

 

Меняем значения в полях ssl_certificate и ssl_certificate_key на свои:

ssl_certificate /etc/nginx/ssl/sslgo_fvds_ru.crt;
ssl_certificate_key /etc/nginx/ssl/sslgo_fvds_ru.key;

 

Сохраняем изменения, закрываем файл.

Исправляем в настройках путь к новому конфигурационному файлу sslgo.fvds.ru_ssl.conf:

Переходим в папку /etc/nginx/bx/site_avaliable и выводим список файлов:

cd /etc/nginx/bx/site_avaliable
ls -al

 

В рассматриваемом примере сайт создан на сервере в качестве сайта по умолчанию (s1), поэтому в рамках этого примера потребуется изменить файл ssl.s1.conf. Для дополнительных сайтов имя файла будет выглядеть как bx_ext_ssl_sslgo_fvds_ru.conf

Открываем файл текстовым редактором аналогично предыдущему и меняем путь:

 

Сохраняем файл и выходим из текстового редактора.

Проверяем, верно ли произведены настройки:

nginx -t

 

Перезагружаем nginx:

service nginx restart

 

Возвращаемся в контекстное меню Битрикс:

sh /root/menu.sh

 

Выбираем пункты:

6. Manage sites in the pool  ->  5. Change https settings on site

 

Выбираем сайт (в случае основного пишем default, для дополнительных — название сайта) и подтверждаем отключение работы незащищенного HTTP-соединения.

 

Проверяем сайт:

Настройки завершены.