Bitrix Linux

Установка SSL-сертификата для сайта в Битрикс.Окружение

Есть мнение SEO-сообщества, что наличие защищенного протокола доступа у сайта положительным образом сказывается на его позициях в поисковых системах, особенно в Google. Но защищенный протокол (https) без сертификата выдает ошибку о сертификате в браузерах и, конечно, лучше, чтобы сертификат был выдан сайту какой-нибудб организацией. Большинство компаний, которые выдают сертификаты, выдают их платно, но есть по крайней мере одна, у которой есть выдача бесплатных сертификатов, это StartSSL.com. О процедуре установки сертификатов данной компании в виртуальной машине 1С-Битрикс я и расскажу в данной статье.
По пунктам что нужно сделать, чтобы провести процедуру получения и установки сертификата:
1. Зарегистрироваться на StartSSL.com
2. Провести валидацию своего домена, для которого будете получать сертификат.
3. Сгенерировать на своем сервере ключ и сертификат. Убрать с ключа пароль.
4. Сгенерировать сертификат на StartSSL.com на основе сертификата с вашего сервера
5. Закачать сертификат StartSSL.com на сервер и произвести действия над конфигурацией сервера.

Теперь по порядку о каждом из пунктов:

1. Зарегистрироваться на StartSSL.com

С первым пунктом вряд ли будут проблемы и вы очень скоро увидите рабочую область клиентов сайта StartSSL.com

 

2. Провести валидацию своего домена, для которого будете получать сертификат.

Заходим во вкладку «Validations Wizard» и выбираем пункт «Domain Validation (for SSL certificate)», после чего нажимаем «Continue»

Вписываем домен вашего сайта и нажимаем «Continue».

Выбираем почтовый ящик, на который система валидации пришлет код верификации и нажимаем кнопку «Send Verification Code». На указанный почтовый ящик пришлет код верификации, который нужно вставить в поле ниже кнопки и нажать кнопку «Validation»

Если все успешно, то видим сообщение.

 

3. Сгенерировать на своем сервере ключ и сертификат. Убрать с ключа пароль.

Заходим по ssh на свой сервер и вводим команду:
openssl req -newkey rsa:2048 -keyout domen_com.key -out domen_com.csr
Отвечаем на задаваемые вопросы (можно ничего не писать, а нажимать Enter), но в самом начале будет требоваться ввести пароль и подтверждение пароля (Enter PEM pass phrase и Verifying — Enter PEM pass phrase) — его требуется запомнить или записать — он нам сейчас пригодится.
Для того, чтобы убрать пароль с ключа (если не убрать пароль, то его нужно будет вводить при каждом рестарте nginx, т. е. если ваш сервер перезагрузится сам, то nginx просто не поднимется и сайт будет недоступен), нужно ввести команду openssl rsa -in domain_com.key -out domain_com.key и в процессе нужно будет ввести пароль к ключу.
Не забудьте также ввести права к ключу только для чтения: chmod 400 domain_com.key

 

4. Сгенерировать сертификат на StartSSL.com на основе сертификата с вашего сервера

Заходим на вкладку «Certificates Wizard» и там вводим в поле свой верифицированный домен.

Выбираем «Generated by Myself» и в открывшееся поле вводим код из файла domen_com.csr , сгенерированного на прошлом шаге и нажимаем кнопку Submit.

Должно появиться сообщение.

Кликаем на ссылку here и скачиваем архив.

 

5. Закачать сертификат StartSSL.com на сервер и произвести действия над конфигурацией сервера.

После разархивации видим в папке 4 архива — нам нужен для Битрикс.окружения NginxServer.zip. Разархивируем его и получаем файл с расширением csr. Теперь у нас все есть и остались последние действия.

 

Закачиваем файл с расширением csr и ключ, сгенерированный в пункте 3, в папку /etc/nginx/ssl/.

В файле /etc/nginx/bx/conf/ssl.conf меняем настройки ssl_certificate и ssl_certificate_key. Там должны быть указаны абсолютные пути к файлу сертификата и файлу ключа соответственно.

Рестартуйте nginx и после этого сертификаты должны работать, если все сделано верно.

P.S.: Если у вас несколько сайтов и для каждого из них нужны свои сертификаты, то необходимо:
1. Каждый сайт повесить в nginx на свой выделенный ip
2. Сгенерировать для каждого из сайтов отдельный сертификат и ключ по указанному выше плану
3. Указать пару сертификат/ключ для каждого сайта отдельно, продублировав файл /etc/nginx/bx/conf/ssl.conf, и указав разные дубли этих конфигураций в конфигах /etc/nginx/bx/site_ext_enabled/bx_ext_ssl_*.conf

Отставить комментарий

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

четырнадцать + семь =