4 августа 2016

Установка сертификата SSL веб окружения битрикс на nginx

Приветствую читатели.
Решили написать небольшую статью о установке сертификата SSL на nginx под управлением веб окружения 1С битрикс с учетом многосайтовости на разных доменах. Система веб окружения работает и очень удобно сделано распределение конфигурационных файлов под сайты. Под каждый сайт свой конфигурационный файл apache и nginx, минус в одном сертификате. Битрикс создал свой сертификат, но его браузеры не воспринимают, причина — сертификат дается на домен.

Если у вас нет желания читать, а хочется установить сертификат, закажите его у нас через форму заказа.

Описание задачи

Имеется сервер centos 6.5 с установленным веб окружением 1С битрикс и сертификат GlobeSSL на 1 год. После покупки или получения сертификата, у вас должен быть RSA приватный ключ, сам сертификат, промежуточный сертификат и корневой ключ. Их мы поместим в nginx для обработки нашего https. Если у вас нет сертификата создавайте его сами, наша статья сегодня не об этом.

Инструкции по установке SSL на nginx

Подключаемся к серверу через систему SSH. Надеюсь у вас установлен Midnight Commander для удобства поиска и работы с конфигурационными файла. Переходим в раздел /etc/nginx/, в котором находятся все наши файлы.
В файле вы увидите настройки вашего nginx ssl конфигурационный файл сайта s1.
/etc/nginx/bx/site_avaliable/ssl.s1.conf
У меня начиная с 6 строки есть следующий код:
# Enable SSL connection
include bx/conf/ssl.conf;
Запись гласит о присоединении файла ssl.conf в директории /etc/nginx/bx/conf/.
Если этой строки нет, вам необходимо прописать ее после server_name.
Переходим к файлу /etc/nginx/bx/conf/ssl.conf.

Сложность данного файла не будим обсуждать, в нем есть 2 строки:
ssl_certificate  /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.pem;
Меняем их на тоже самое, только указываем домен для ощущения могущества и удобства структуры расположения файлов.
ssl_certificate  /etc/nginx/ssl/ваш_сайт/cert.pem;
ssl_certificate_key /etc/nginx/ssl/ваш_сайт/cert.pem;
Не забудьте создать папку /etc/nginx/ssl/ваш_сайт/, иначе nginx не сработает.
Создайте файл в этой папке под названием cert.pem. В нем вы должны верно расположить 2 ключа сертификата.
Порядок следующий: RSA приватный ключ (RSA PRIVATE KEY), сам сертификат, промежуточный сертификат, корневой ключ.
Если на сервере расположены несколько сайтов и несколько доменом, ищем в директории /etc/nginx/bx/site_avaliable/ следующий файл bx_ext_ssl_ваш_сайт.ru.conf.

Если анализировать файл bx_ext_ssl_ваш_сайт.ru.conf, получается следующее:
bx - битрикс.
ext - дополнительный сайт, находящийся в директории /home/bitrix/ext_www/.
ssl - конфиг на сертификат.
ваш_сайт.ru - домен сайта.

В данном файле так же будет находиться строка include bx/conf/ssl.conf. Меняем ее на include bx/conf/ssl.ваш_сайт.conf, а в нем уже прописываем нахождение сертификата:
ssl_certificate /etc/nginx/ssl/ваш_сайт/cert.pem;
ssl_certificate_key /etc/nginx/ssl/ваш_сайт/cert.pem;

Структуры лучше придерживаться, иначе запутаетесь и создадите множество файлов в папке, которые в будущем могут создать проблемы при увеличении ваших сайтов.

Можете переходить на сайте через протокол https и радоваться шифрованию ваших данных.

Как проверить установку сертификата SSL

UPDATE: Для проверки установки воспользуйтесь сервисом Проверки сайта на SSL
Желаем всем удачи.

Количество показов: