Установка SSL-сертификата в BitrixVM 9: через меню и вручную
SSL-сертификат в BitrixVM можно установить встроенными средствами виртуальной машины или вручную через конфигурацию Nginx.
В большинстве случаев рекомендуется использовать меню BitrixVM. Оно самостоятельно подключает сертификат к нужному сайту и снижает вероятность ошибки в конфигурации веб-сервера.
Ручная установка может понадобиться при нестандартной конфигурации сервера или если сертификат необходимо подключить способом, который не поддерживается штатным мастером.
Рассмотрим оба варианта на примере BitrixVM 9.
Private Key — приватный ключ;
Certificate — сертификат сайта;
Certificate Chain — цепочка промежуточных сертификатов.
Например:
Приватный ключ не должен быть защищён паролем.
Отдельный файл цепочки необязателен, если промежуточные сертификаты уже находятся в файле сертификата.
Проверить IP домена можно, например, командой:
Если удобнее работать с nano, его можно установить командой:
Сохраним их в файл:
Если цепочка уже включена непосредственно в файл сертификата, отдельный файл chain в BitrixVM можно не указывать.
кому выдан сертификат;
кем он выпущен;
дату начала действия;
дату окончания действия.
Сравним публичные ключи.
Для сертификата:
Если значения отличаются, сертификат и приватный ключ не являются парой.
Запускаем меню:
Для нашего примера указываем:
Sitename:
После ввода параметров подтверждаем операцию.
BitrixVM самостоятельно установит сертификат и изменит конфигурацию сайта.
Например:
Особенно это касается приватного ключа.
Если файлы были размещены непосредственно в штатном каталоге сертификатов BitrixVM и используются системой, удалять их нельзя.
Но при необходимости сертификат можно подключить непосредственно в конфигурации Nginx.
Для этого потребуется:
файл сертификата или fullchain;
приватный ключ без пароля.
Сначала должен находиться сертификат сайта, затем промежуточные сертификаты:
При необходимости можно выполнить полный перезапуск:
При обновлении BitrixVM или изменении настроек сайта некоторые стандартные файлы Nginx могут быть сформированы заново.
Поэтому ручной способ лучше использовать только тогда, когда штатная установка через меню BitrixVM не подходит.
После обновления виртуальной машины также рекомендуется проверить, что пользовательская SSL-конфигурация продолжает подключаться.
В BitrixVM управление HTTPS выполняется через меню сайтов.
В актуальной BitrixVM 9 это раздел:
Перед отключением HTTP необходимо убедиться, что доверенный SSL-сертификат уже установлен и корректно работает.
Для этого используется меню:
После выпуска BitrixVM установит сертификат автоматически.
Let's Encrypt подходит для большинства обычных сайтов, если нет необходимости использовать сертификат, выпущенный конкретным удостоверяющим центром.
Необходимо следить за сроком их действия.
После получения нового сертификата процедуру импорта нужно повторить через:
В этом случае Nginx не сможет использовать сертификат. Перед установкой сравните публичные ключи.
Передан зашифрованный приватный ключ.
BitrixVM ожидает приватный ключ без парольной защиты.
Не передана цепочка промежуточных сертификатов.
Сайт может открываться в одном браузере и выдавать ошибку доверия в другом. Используйте корректный certificate chain или fullchain.
Сертификат выпущен для другого домена.
Проверьте список доменов в SAN сертификата.
После ручной настройки Nginx перестал запускаться.
Всегда выполняйте:
2. Проверяем, что все файлы находятся в PEM.
3. Проверяем соответствие сертификата приватному ключу.
4. Запускаем /root/menu.sh.
5. Переходим в 9 → 2 → 2. Configure own certificate.
6. Указываем сайт и полные пути к файлам.
7. Подтверждаем установку.
8. Проверяем конфигурацию командой nginx -t.
9. Открываем сайт по HTTPS и проверяем сертификат.
10. При необходимости включаем принудительную работу сайта по HTTPS.
Для стандартной BitrixVM предпочтительнее устанавливать собственный сертификат именно через встроенное меню. Ручное редактирование конфигурации Nginx стоит оставлять для нестандартных случаев.
Вернуться к блогу
В большинстве случаев рекомендуется использовать меню BitrixVM. Оно самостоятельно подключает сертификат к нужному сайту и снижает вероятность ошибки в конфигурации веб-сервера.
Ручная установка может понадобиться при нестандартной конфигурации сервера или если сертификат необходимо подключить способом, который не поддерживается штатным мастером.
Рассмотрим оба варианта на примере BitrixVM 9.
Что потребуется для установки
Для собственного SSL-сертификата обычно нужны следующие файлы:Private Key — приватный ключ;
Certificate — сертификат сайта;
Certificate Chain — цепочка промежуточных сертификатов.
Например:
example.ru_privkey.pem
example.ru_cert.pem
example.ru_chain.pem
Для BitrixVM сертификаты должны находиться в формате PEM.Приватный ключ не должен быть защищён паролем.
Отдельный файл цепочки необязателен, если промежуточные сертификаты уже находятся в файле сертификата.
Проверяем домен перед установкой
Перед подключением SSL убедитесь, что сайт уже создан в BitrixVM, а домен направлен на нужный сервер.Проверить IP домена можно, например, командой:
dig +short example.ru
или:
nslookup example.ru
Полученный IP должен соответствовать серверу, на котором расположен сайт.
Установка редактора nano
В BitrixVM 9 стандартным консольным редактором является vi.Если удобнее работать с nano, его можно установить командой:
dnf install nano -y
Этот шаг необязателен.
Создаём каталог для сертификатов
Создадим отдельную директорию:
mkdir -p /home/bitrix/ssl
Перейдём в неё:
cd /home/bitrix/ssl
В этот каталог временно поместим сертификат, приватный ключ и цепочку.
Создаём файл сертификата
Если центр сертификации предоставляет сертификат и цепочку одним файлом, первая секция обычно является непосредственно сертификатом домена:
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Создадим файл:
nano /home/bitrix/ssl/example.ru_cert.pem
И вставим в него сертификат сайта.
Создаём файл цепочки
Центр сертификации также предоставляет промежуточные сертификаты, необходимые для построения доверенной цепочки.Сохраним их в файл:
nano /home/bitrix/ssl/example.ru_chain.pem
Если провайдер уже выдал отдельный файл типа chain.pem, можно использовать его без изменений.Если цепочка уже включена непосредственно в файл сертификата, отдельный файл chain в BitrixVM можно не указывать.
Создаём файл приватного ключа
Приватный ключ выглядит примерно так:
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
или:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Сохраним его:
nano /home/bitrix/ssl/example.ru_privkey.pem
Приватный ключ должен соответствовать именно этому сертификату.
Ограничиваем права на приватный ключ
Поскольку приватный ключ является секретной частью сертификата, доступ к нему желательно ограничить:
chmod 600 /home/bitrix/ssl/example.ru_privkey.pem
Для сертификата и цепочки можно оставить права на чтение:
chmod 644 /home/bitrix/ssl/example.ru_cert.pem
chmod 644 /home/bitrix/ssl/example.ru_chain.pem
Проверяем сертификат
Перед установкой полезно убедиться, что PEM-файл читается OpenSSL:
openssl x509 \
-in /home/bitrix/ssl/example.ru_cert.pem \
-noout \
-subject \
-issuer \
-dates
Команда покажет:кому выдан сертификат;
кем он выпущен;
дату начала действия;
дату окончания действия.
Проверяем соответствие сертификата и приватного ключа
Одна из распространённых ошибок — попытка установить сертификат вместе с приватным ключом от другого сертификата.Сравним публичные ключи.
Для сертификата:
openssl x509 \
-in /home/bitrix/ssl/example.ru_cert.pem \
-pubkey \
-noout \
| openssl pkey -pubin -outform der \
| sha256sum
Для приватного ключа:
openssl pkey \
-in /home/bitrix/ssl/example.ru_privkey.pem \
-pubout \
-outform der \
| sha256sum
Хеши должны совпадать.Если значения отличаются, сертификат и приватный ключ не являются парой.
Установка SSL через меню BitrixVM
Теперь можно использовать штатный мастер BitrixVM.Запускаем меню:
/root/menu.sh
Переходим в:
9. Manage pool web servers
Затем:
2. Configure certificates
И выбираем:
2. Configure own certificate
Указываем данные сертификата
Мастер запросит параметры устанавливаемого сертификата.Для нашего примера указываем:
Sitename:
example.ru
Private Key path:
/home/bitrix/ssl/example.ru_privkey.pem
Certificate path:
/home/bitrix/ssl/example.ru_cert.pem
Certificate Chain path:
/home/bitrix/ssl/example.ru_chain.pem
Если цепочка уже находится внутри файла сертификата, отдельный файл Certificate Chain можно не использовать.После ввода параметров подтверждаем операцию.
BitrixVM самостоятельно установит сертификат и изменит конфигурацию сайта.
Можно ли установить сертификат сразу для нескольких сайтов
BitrixVM позволяет указать несколько сайтов через запятую.Например:
example.ru,www.example.ru
При этом сертификат должен быть действителен для всех указанных доменных имён.
Проверяем конфигурацию Nginx
После установки желательно проверить конфигурацию веб-сервера:
nginx -t
При корректной конфигурации будет выведено сообщение примерно следующего вида:
syntax is ok
test is successful
Если Nginx сообщает об ошибке, перезапускать его до исправления конфигурации не следует.
Проверяем установленный сертификат
Самый простой вариант — открыть сайт:
https://example.ru
Также сертификат можно проверить через консоль:
openssl s_client \
-connect example.ru:443 \
-servername example.ru
Для более компактного вывода можно получить только информацию о сертификате:
openssl s_client \
-connect example.ru:443 \
-servername example.ru \
</dev/null 2>/dev/null \
| openssl x509 \
-noout \
-subject \
-issuer \
-dates
Так можно убедиться, что сервер действительно отдаёт новый сертификат, а не старый или самоподписанный.
Что делать с исходными файлами после установки
Если для импорта использовалась временная директория:
/home/bitrix/ssl/
после успешного импорта исходные файлы рекомендуется удалить с сервера или перенести в защищённое хранилище.Особенно это касается приватного ключа.
Если файлы были размещены непосредственно в штатном каталоге сертификатов BitrixVM и используются системой, удалять их нельзя.
Ручная установка сертификата
В большинстве случаев лучше использовать встроенное меню BitrixVM.Но при необходимости сертификат можно подключить непосредственно в конфигурации Nginx.
Для этого потребуется:
файл сертификата или fullchain;
приватный ключ без пароля.
Формируем fullchain для Nginx
Если сертификат сайта и промежуточные сертификаты находятся в разных файлах, их можно объединить.Сначала должен находиться сертификат сайта, затем промежуточные сертификаты:
cat example.ru_cert.pem example.ru_chain.pem > example.ru_fullchain.pem
Полученный файл будет использоваться в директиве ssl_certificate.
Копируем сертификаты в каталог Nginx
Например:
cp example.ru_fullchain.pem /etc/nginx/ssl/
cp example.ru_privkey.pem /etc/nginx/ssl/
Для приватного ключа устанавливаем ограниченные права:
chmod 600 /etc/nginx/ssl/example.ru_privkey.pem
Создаём отдельную SSL-конфигурацию
Скопируем стандартный SSL-конфиг BitrixVM:
cp /etc/nginx/bx/conf/ssl.conf \
/etc/nginx/bx/conf/custom_ssl.conf
Открываем его:
nano /etc/nginx/bx/conf/custom_ssl.conf
И удаляем из копии стандартные строки сертификата:
ssl_certificate /etc/nginx/ssl/cert.crt;
ssl_certificate_key /etc/nginx/ssl/cert.key;
Находим конфигурацию нужного сайта
Для сайта по умолчанию конфигурация HTTPS обычно находится в файле:
/etc/nginx/bx/site_enabled/ssl.s1.conf
Для дополнительных сайтов используются файлы вида:
/etc/nginx/bx/site_enabled/bx_ext_ssl_example.ru.conf
Перед изменением рекомендуется сделать резервную копию:
cp /etc/nginx/bx/site_enabled/bx_ext_ssl_example.ru.conf \
/root/bx_ext_ssl_example.ru.conf.backup
Подключаем собственный SSL-конфиг
Находим строку:
include bx/conf/ssl.conf;
И заменяем её на:
include bx/conf/custom_ssl.conf;
После подключения добавляем пути к сертификату и ключу:
ssl_certificate /etc/nginx/ssl/example.ru_fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/example.ru_privkey.pem;
Проверяем конфигурацию перед перезапуском
Это обязательный шаг при ручной настройке:
nginx -t
Если проверка завершилась успешно, применяем конфигурацию:
systemctl reload nginx
Для применения SSL-настроек обычно достаточно reload: Nginx перечитает конфигурацию без полноценной остановки сервиса.При необходимости можно выполнить полный перезапуск:
systemctl restart nginx
Важный момент при ручном изменении BitrixVM
Конфигурационные файлы BitrixVM управляются самой виртуальной машиной.При обновлении BitrixVM или изменении настроек сайта некоторые стандартные файлы Nginx могут быть сформированы заново.
Поэтому ручной способ лучше использовать только тогда, когда штатная установка через меню BitrixVM не подходит.
После обновления виртуальной машины также рекомендуется проверить, что пользовательская SSL-конфигурация продолжает подключаться.
Перенаправление сайта на HTTPS
Установка сертификата сама по себе не обязательно означает, что HTTP-версия сайта будет автоматически отключена.В BitrixVM управление HTTPS выполняется через меню сайтов.
В актуальной BitrixVM 9 это раздел:
8. Configure pool sites
далее:
5. Change a site's https settings
С помощью этого пункта можно настроить работу сайта только через HTTPS.Перед отключением HTTP необходимо убедиться, что доверенный SSL-сертификат уже установлен и корректно работает.
Если собственного сертификата нет
BitrixVM умеет самостоятельно выпускать бесплатные сертификаты Let's Encrypt.Для этого используется меню:
9. Manage pool web servers
→ 2. Configure certificates
→ 1. Configure "Let's encrypt" certificate
Потребуется указать сайт, доменные имена и контактный e-mail.После выпуска BitrixVM установит сертификат автоматически.
Let's Encrypt подходит для большинства обычных сайтов, если нет необходимости использовать сертификат, выпущенный конкретным удостоверяющим центром.
Продление собственного сертификата
BitrixVM не перевыпускает сторонние сертификаты самостоятельно.Необходимо следить за сроком их действия.
После получения нового сертификата процедуру импорта нужно повторить через:
9. Manage pool web servers
→ 2. Configure certificates
→ 2. Configure own certificate
Проверить срок действия текущего сертификата можно командой:
openssl s_client \
-connect example.ru:443 \
-servername example.ru \
</dev/null 2>/dev/null \
| openssl x509 -noout -dates
Типичные ошибки при установке SSL
Сертификат и приватный ключ не соответствуют друг другу.В этом случае Nginx не сможет использовать сертификат. Перед установкой сравните публичные ключи.
Передан зашифрованный приватный ключ.
BitrixVM ожидает приватный ключ без парольной защиты.
Не передана цепочка промежуточных сертификатов.
Сайт может открываться в одном браузере и выдавать ошибку доверия в другом. Используйте корректный certificate chain или fullchain.
Сертификат выпущен для другого домена.
Проверьте список доменов в SAN сертификата.
После ручной настройки Nginx перестал запускаться.
Всегда выполняйте:
nginx -t
до reload или restart веб-сервера.
Кратко: установка своего SSL в BitrixVM
1. Подготавливаем сертификат, приватный ключ и при необходимости цепочку.2. Проверяем, что все файлы находятся в PEM.
3. Проверяем соответствие сертификата приватному ключу.
4. Запускаем /root/menu.sh.
5. Переходим в 9 → 2 → 2. Configure own certificate.
6. Указываем сайт и полные пути к файлам.
7. Подтверждаем установку.
8. Проверяем конфигурацию командой nginx -t.
9. Открываем сайт по HTTPS и проверяем сертификат.
10. При необходимости включаем принудительную работу сайта по HTTPS.
Для стандартной BitrixVM предпочтительнее устанавливать собственный сертификат именно через встроенное меню. Ручное редактирование конфигурации Nginx стоит оставлять для нестандартных случаев.