Установка ssl сертификата для Битрикс окружения или виртуальной машины Bitrix

Установка ssl сертификата для Битрикс окружения или виртуальной машины Bitrix

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

Конвертирования ключа в нужный формат

Пример конвертации запароленного .pfx ключа в нужный нам формат

openssl pkcs12 -in  path.pfx -clcerts -nokeys -out  newfile.cer
openssl pkcs12 -in  path.pfx -nocerts -nodes  -out  newfile.key
Пример конвертации запароленного .p12 ключа в нужный нам формат

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes


Другие форматы и рекомендации
По моему опыту сертификат встаёт как в .pem формате в виде одного файла для обоих параметров, так и как два разных файла .cer и .key отдельно для каждого параметра
Подробные инструкции или другие рецепты ищите в сети.

Нужные конфигурационные файлы

Глобальный конфиг
Глобальный файл, где прописан сертификат для всех хостов на сервере лежит тут

/etc/nginx/bx/conf/ssl.conf

Редактировать его не рекомендуется,потому что обновления битрикс-окружения на сервере перезаписывают этот файл и ваши правки могут затереться, а сайты остаться без подлинного сертификата. 
Если у вас мультидоменный сертификат, возможно проще будет подменить битрикс файл(/etc/nginx/ssl/cert.pem) на свой.
После проделанных операций, перезагружаем nginx.

Конфиг хоста

Я рекомендую для каждого хоста прописать нужные сертификат, открываем конфиг ssl хоста, например

/etc/nginx/bx/site_avaliable/bx_ext_ssl_нужный.домен.conf

 Важно убрать подключение дефолтного ssl конфига из конфига хоста - убираем строку, вида "include bx/conf/ssl.conf;"
А само содержимое файла include bx/conf/ssl.conf копируем текстом в конфиг хоста, заменяю пути к сертификату в соответствующих параметрах
ssl_certificate         /etc/nginx/ssl/ВАШ_КЛЮЧ.crt.pem;
ssl_certificate_key     /etc/nginx/ssl/ВАШ_КЛЮЧ.pem;


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

Сертификат для NTLM авторизации
Для NTLM авторизации установка сертификата так же возможна, нужно прописать сертификат в файле

/etc/httpd/bx/conf/mod_ntlm.conf


Сертификат для отправки почты
Если почта настроена на дефолтный msmtp, то просто в нужные нам секции файла
/home/bitrix/.msmtprc

дописываем
tls_key_file /etc/nginx/ssl/cert2.key tls_cert_file /etc/nginx/ssl/cert2.pem
 

Подробнее тут

https://msmtp.sourceforge.net/doc/msmtp.html


Похожие записи в блоге

Все статьи