Установка 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 не будет опубликован. Обязательные поля помечены *