Установка ssl сертификата битрикс на Apache

Обновлено 30.05.2018

Установка ssl сертификата битрикс на Apache

Добрый день уважаемые читатели и подписчики, сегодня хочу вам рассказать свой опыт установки ssl сертификата битрикс на Apache. Расскажу небольшую предысторию. Достался мне по наследству сервер CentOS 7, на котором крутилось 3 сайта на CMS 1С Битрикс, ее очень часто используют для интернет магазинов или различных корпоративных порталов. В один из прекрасных дней приходит письмо, о том что у нас заканчивается срок действия SSL сертификата и нужно его продлевать, но загвоздка оказалось в том, что два сайта работали на nginx, а нужный на Apache, а так как не я все это дело настраивал, то пришлось покопаться, чтобы найти нужное место и конфиграционный файл, но обо всем более подробно чуть ниже.

Как установить ssl сертификат на сайт битрикс

Для начала, если вы у вас похожая ситуация и у вас несколько сайтов и вы не знаете на каком веб сервере они работают, то вам поможет в этом разобраться моя статья (Как узнать вебсервер сайта). Если у вас как и у меня Apache, то читаем далее, про Nginx я расскажу в самом низу. Если кто не знает, то апач все пути к сертификатам имеет в конфигурационном файле, который лежит по пути:

В CentOS 7 это /etc/httpd/

В Debian это /etc/apache2/

Попав в нужное расположение Apache я сразу обнаружил ssl сертификат битрикса.

ssl сертификат битрикс

Как видите тут один сертификат формата *.cer (открытый ключ), а второй с *.key это закрытый ключ. Далее я обнаружил папку ssl, в которой располагались корневые сертификаты удостоверяющего центра сертификации, необходимые для проверки цепочки. Их тут тоже два и у них формат *.cer.

корневой ssl сертификат битрикс-2

Все с местом дислокации сертификатов определились, теперь нужно понять в каком файле они прописываются и они ли это. Я сделал резервную копию этих файлов, благодаря тому, что подключился по ssh с помощью WinSCP. После чего удалил файл *.key и *.cer. Перезапускаем службу Apache на bitrix.

/etc/init.d/httpd restart

В итоге я увидел ошибку Starting httpd: Syntax error on line 117 of /etc/httpd/bx/conf/bx_ext_e-disclosure.azipi.ru.conf:
SSLCertificateFile: file '/etc/httpd/e-disclosure.azipi.ru.cer' does not exist or is empty

Тут нам белым по черному написали, что в конфигурационном файле /etc/httpd/bx/conf/bx_ext_e-disclosure.azipi.ru.conf прописан путь до сертификата /etc/httpd/e-disclosure.azipi.ru.cer и он сейчас не доступен. Значит это были те сертификаты, что я удалил.

bitrix установка ssl на apache

Дело осталось за малым, нужно было подменить старые сертификаты на новые. Я их заказывал у Comodo на 3 года за 1800 рублей. Я получил от удостоверяющего центра архив, в котором были:

  • Открытый ключ
  • Ключи цепочки

Закрытый ключ (private ключ) у вас должен был быть после создания вами CSR запроса к CA.

bitrix установка ssl сертификата

Теперь переходим в конфигурационный файл /etc/httpd/bx/conf/ваш конфиг с названием сайта и ищем строки:

  1. SSLCertificateFile /etc/httpd/e-disclosure.azipi.ru.cer
  2. SSLCertificateKeyFile /etc/httpd/e-disclosure.azipi.ru.key
  3. SSLCertificateChainFile /etc/httpd/ssl/CACertificate-1.cer
  4. SSLCertificateChainFile /etc/httpd/ssl/CACertificate-2.cer

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

Если у вас формат SSL сертификатов полученных от CA как и у меня *.ctr, то смело переименовываете их (меняете форма файла) на *.cer

После замены нужных сертификатов, перезапускаете службу Apache и проверяете работу нового ssl сертификата битрикс. У меня все отлично преминилось, новый SSL до 2020 года.

установка ssl сертификата битрикс-2

Как видите установка ssl на bitrix, довольно простое дело. И как обещал немного о Nginx, так как ваш сайт может работать на нем. На данном веб сервере, для начала нужно объединить все ваши сертификаты в один с форматом *.pem, делается это командой.

Создайте и перейдите в папку

cd /etc/nginx/ssl/1/

скопируйте туда все сертификаты полученные от центра сертификации, после чего выполните команду

cat vash_domen.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > cert.pem

Ваши имена файлом могут отличаться

В итоге вы получили файл cert.pem

Полученный файл сертификата cert.pem скопировать в папку /nignx/ssl/, заменив старый файл, и прописать в конфигурационном файле nginx путь к публичному ключу

/etc/nginx/bx/conf/ssl.conf:
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/private.key;

Перезагружаем nginx
[root@1 conf]# service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]

Установка ssl сертификата битрикс и на Nginx так же простое дело. Еще напоминаю, что закрытый ключ вы должны сильно оберегать, так как его компрометация сделает ваш сервер не доверенным.

Автор - Сёмин Иван

Добавить комментарий

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