Установка ssl-сертификата для битрикс окружения bitrix vm
Ssl-cертификат для сайта, работающего на машине bitrix vm следует устанавливать в веб-сервер nginx.
Делается это вручную, путем правки конфигурации веб-сервера nginx. Рассмотрим эту операцию пошагово.
Во-первых, нужно купить и иметь на руках файлы сертификата в нужном формате для веб-сервера nginx. Иногда приходится создавать такие файлы вручную. В интернете есть статьи, о том, как получить два файла domain_ru.crt и domain_ru.key
Необходимо скопировать эти два сайта в папку /etc/nginx/ssl/
Предполагается, что сертификаты всех сайтов, расположенных на текущем bitrix vm, будут храниться в данной папе.
Затем необходимо открыть и отредактировать файлы конфигурации сайта
Примечание: если ваш сайт установлен в папку /home/bitrix/www, то редактировать нужно файлы
/etc/nginx/bx/site_avaliable/s1.conf
/etc/nginx/bx/site_avaliable/ssl.s1.conf
В файл /etc/nginx/bx/site_avaliable/bx_ext_ssl_domain.ru.conf необходимо включить наши файлы сертификата.
Для этого комментируем строчку include bx/conf/ssl.conf; (вставляем впереди нее #)
а вместо нее вставляем содержимое файла /etc/nginx/bx/conf/ssl.conf
server < listen 443 ssl; server_name domain.ru www.domain.ru; # enable SSL connection #include bx/conf/ssl.conf; access_log /var/log/nginx/domain.ru_access.log main; …
Когда мы вставили содержимое файла /etc/nginx/bx/conf/ssl.conf вместо строчки, необходимо указать наши файлы в строчках ssl_certificat и ssl_certificate_key:
server < listen 443 ssl; server_name domain.ru www.domain.ru; # enable SSL connection #include bx/conf/ssl.conf; # If they come here using HTTP, bounce them to the correct scheme # Nginx internal code used for the plain HTTP requests # that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection. error_page 497 https://$host$request_uri; # … # SSL encryption parameters ssl on; #. ssl_certificate /etc/nginx/ssl/domain_ru.crt; ssl_certificate_key /etc/nginx/ssl/domain_ru.key; # …
Теперь нам нужно отредактировать файл /etc/nginx/bx/site_avaliable/bx_ext_domain.ru.conf таким образом, чтобы происходил редирект сайта с http://domain.ru на https://domain.ru
Примечание: СЕО-продвиженцы часто требуют, чтобы редирект не распространялся на файл robots.txt, это мы и учитываем здесь
server < listen 80 ; server_name domain.ru www.domain.ru; #. # Redirect to ssl if need if (-f /home/bitrix/ext_www/domain.ru/.htsecure) < return 301 https://$host$request_uri; ># добавляем эти три строчки: if ($request_uri !~* "/robots.txt") < rewrite ^(.*)$ https://$host$1 permanent; >#.
Примечание: если не требуется добавить файл robots.txt в исключение, то достаточно создать файл в корне сайта /home/bitrix/ext_www/domain.ru/.htsecure с пустым содержимым. По этому же файлу меню виртуальной машины определяет режим работы сайта по https.
проверяем успешность операции и перезапускаем ngixn для применения настроек
[root@server~]# service nginx configtest
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Если возникли ошибки в конфигурации – их нужно устранить. Если все успешно – перезапускам nginx для применения настроек
[root@server~]# service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
Все, мы установили сертификат для сайта klausauto.ru. Открываем браузер – и проверяем результат. Если видим зеленый замочек – значит все получилось
Примечание: Чаще всего после этой операции еще требуется устранить ошибки mixed-content (перечеркнутый замочек). Это обозначает, что на сайте в исходном коде html присутствуют картинки, стили, и прочие файлы, которые открывается по протоколу http. Исправление этой ошибки всегда специфично (поиск таких мест, и указание у них https впереди, либо просто ресурс без протокола //), поэтому выходит за рамки данной статьи. С целью безопасности, браузеры требуют, чтобы все ресурсы сайта (картинки, скрипты, стили…) также открывались по https.
Как установить SSL-сертификат Битрикс
SSL-сертификаты — это особые криптографические шифры для безопасного соединения сервера и клиента. Особый защищенный протокол препятствует несанкционированному подключению к каналу передачи данных. Это позволяет SSL-сертификатам на протяжении уже многих лет оставаться «знаками качества» сайтов, позволяя в числе прочего видеть их посетителям, кому на самом деле принадлежит ресурс.
В одной из предыдущих публикаций мы уже рассказывали про основные аспекты работы с SSL-сертификатами: для чего они нужны, какие виды существуют, как правильно выбрать сертификат и т.д. Сегодня мы подробно поговорим о том, как установить SSL-сертификат в 1С-Битрикс.
Какие задачи решает SSL-сертификат в Битрикс?
Часть задач, которые SSL-сертификат помогает решить в Битрикс, характерны и для других CMS, однако есть и характерные только для этой платформы. Перечислим основные причины для установки SSL-сертификата в 1С-Битрикс.
- Безопасность передачи данных. Работа с персональными данными (ФИО, номера телефонов и т.д.) пользователей требует их шифрования при передаче к серверу. Это не дает 100% защиты, т.к. данные могут быть перехвачены еще до передачи на сервер, однако существенно снижает уязвимость сайтов на Битрикс. По этой причине согласно ФЗ «О персональных данных» ресурсы, хранящие персональные данные, должны использовать SSL-сертификаты для безопасной передачи данных.
- Поддержка сторонних сервисов. Из соображений безопасности многие платежные системы (Яндекс.Деньги) и сервисы (Голосовой помощник Google Chrome) работают только с сайтами с HTTPS протоколом. Поскольку на Битрикс работает большинство интернет-магазинов, установка SSL-сертификата становится жизненно необходимым для занятия электронной коммерцией.
- Поддержка внутренних сервисов. Ряд модулей коробочного варианта Битрикс24 просто не будет работать без SSL-сертификата. Речь идет в первую очередь об телефонии и сервисах интеграции — в отсутствие безопасного протокола соединения данные с сайта просто не будет доходить до Битрикс24.
- CEO-оптимизация и лояльность. Современные реалии таковы, что SSL-сертификат имеет сайт любой уважающей себя компании. Пиктограмма замка и приписка «защищено» сигнализируют посетителю о том, что с его личными данными ничего не случится. Кроме того поисковые системы воспринимают поддержку сайтом HTTPS-протокола, как один из факторов ранжирования, что влияет на их место в поисковой выдаче.
Скорость получения сертификата зависит от типа сертификата и поставщика сертификатов. Простой SSL-сертификат, подтверждающий домен, может быть выпущен в течение нескольких минут после заказа, а получение сертификата с расширенной проверкой может занять целую неделю.
Как создать CSR-запрос и заказать SSL-сертификат
Первым шагом по установке SSL-сертификата сайта в 1С-Битрикс является генерация CSR-запроса и заказ сертификата через ISP-панель хостинга.
Бесплатный сертификат можно установить, перейдя в раздел «Домены и поддомены» и выбрав напротив нужного домена «Управление SSL сертификатами». С установкой платных сертификатов может помочь хостинг-провайдер. Так, обратившись в Максиплейс, за счет автоматизации всех процессов вы сможете получить SSL-сертификат с проверкой домена в течении 2-х минут. Наши цены на SSL-сертификат — среди самых низких на рынке, а наши специалисты охотно ответят на любые вопросы, связанные с этой услугой. Для выпуска сертификата необходимо подтвердить право владения доменом, сделать это можно через email. На вашу доменную почту, вида admin@domain.com будет направлено письмо с ссылкой для подтверждения.
Известно, что БитриксВМ управляется через консоль Linux, дистрибутив CentOS. Но наши клиенты для генерации CSR-запроса могут обратиться в собственный личный кабинет. Как это сделать — можно прочитать в нашей инструкции.
Когда CSR-запрос отправлен и заказанный SSL-сертификат получен, нужно произвести установку полученных сертификатов на сервер Битрикс. Установочные файлы сертификата отображаются в панели управления хостингом; как правило их два: .CRT (файл сертификата для вашего сайта (сайтов)) и .CA (файл цепочки сертификатов Центра Сертификации (Certificate Authority)).
Как настроить сервер Битрикс под SSL-сертификат
Настройка SSL-сертификата не менее важна, чем его установка. Чтобы упростить этот процесс мы выпустили специальную инструкцию, с которой вы можете свериться.
Убедитесь, что настройка сервера была произведена корректно. Для этого просто откройте Ваш сайт в любом браузере по защищенному протоколу. При правильной настройке сертификата в адресной строке будет отображаться пиктограмма в виде замкнутого навесного замка. Зеленый цвет свидетельствует наивысшем уровне защиты. При клике на замок появляется информация о безопасности соединения.
Выводы
Мы разобрали, как установить SSL-сертификат в 1С-Битрикс. Подытоживая можно сделать вывод, что SSL-сертификаты важны для сайтов на Битрикс также, как и для всех остальных, а их установка имеет определенную специфику. Залогом правильной установки и корректной работы сертификата является правильная настройка сервера. Алгоритм установки сертификата довольно прост, однако, если у вас все же возникнут затруднения, вы всегда можете обратиться в нашу компанию - инженеры Максиплейс смогут помочь вам разобраться с SSL-сертификатами для 1С-Битрикс, ведь в нашем облаке есть тщательно оптимизированные, преднастроенные и полностью готовые к работе серверы для Битрикс.
Статья добавлена 8 месяцев назад. Автор - Blog Admin
КАК УСТАНОВИТЬ SSL СЕРТИФИКАТ НА 1С-БИТРИКС
После генерации CSR-запроса и заказа SSL сертификата следует установить приобретенные сертификаты .CRT и .CA на сервер 1C-Битрикс.
Файлы для установки SSL сертификата разместятся в панели управления cloudlite (меню SSL):
.CA - файл цепочки сертификатов Центра Сертификации (Certificate Authority).
.CRT - файл сертификата для Вашего сайта (сайтов).
Теперь нужно загрузить файлы на веб-сервер
Загрузите представленные в панели управления файлы .ca и .crt на веб-сервер 1С-Битрикс. Проще всего загрузить эти файлы сначала на другой компьютер, после чего перенести их на сервер любым из описанных ниже способов.
Внимание: предполагается, что нужная для функционирования пара закрытый/открытый ключ генерируется на том же веб-сервере 1С-Битрикс, куда будет перенесен купленный сертификат. При условии создания ключей на другом компьютере необходимо дополнительно перенести файл закрытого ключа .key на Ваш веб-сервер аналогично представленной ниже технологии копирования файлов сертификатов.
Перенос сертификатов с компьютера Linux/Mac OS:
Оптимальный вариант загрузки сертификатов на сервер – при помощи опции SCP, встроенной в возможность терминала компьютера:
Загрузите файлы .CA и .CRT из панели управления на Ваш компьютер. Откройте терминал и папку, где были сохранены сертификаты (напр., Downloads):
Теперь скопируйте сертификаты Вашего сайта и Центра Сертификации на веб-сервер:
scp crt.crt ca.crt user@1.22.33.44:/etc/ssl
scp - команда копирования файлов
mydomain.ru_crt.crt - имя загруженного из панели файла сертификата Вашего веб-сайта
mydomain.ru_ca.crt - имя загруженного из панели файла сертификата Центра Авторизации
user - имя Вашего пользователя для подключения к серверу через ssh (часто используется root)
1.22.33.44 - IP-адрес вашего веб-сервера
/etc/ssl - директория на удаленном сервере, куда будете сохранять загружаемые файлы.
Как перенести сертификаты с компьютера Windows:
Скачайте и установите программу WinSCP.
Запустите WinSCP и в новом окне наберите данные, используемые для подключения к Вашему серверу по SSH.
В левой части окна программы отображены файлы на локальном компьютере, в правой - на удаленном сервере. Отметьте или создайте директорию, куда будете сохранять сертификаты, в правой части окна. Перенесите файлы .CA и .CRT в эту директорию из левой части окна.
Внимание: для Вашего удобства рекомендуем в дальнейшем перенести файл закрытого ключа (.key) в ту же директорию, где теперь расположены файлы сертификатов. Это необязательно, но в этом случае нужно запомнить путь до этого файла и в дальнейшем отметить его в файле конфигурации Apache вместо пути, приведенного в примере.
Если закрытый ключ .key Вы сгенерировали прямо на сервере, то для его копирования в другую директорию подойдет такая команда:
cp /home/root/private.key /etc/ssl/private.key
cp - команда копирования
/home/root/ - путь до файла ключа
private.key - имя файла ключа
/etc/ssl/private.key – путь копирования файла ключа
Удаление файла ключа из старого расположения производится командой:
Как настроить сервер 1C-Битрикс на работу SSL сертификата
После копирования файлов сертификата сайта и Центра Сертификации нужно настроить параметры Вашего сервера 1С-Битрикс. Подключитесь к серверу по SSH от имени пользователя root и выполните такие действия:
1. После подключения к серверу будет отображена консоль 1С-Битрикс с доступными действиями (Available Actions). Потребуется командная строка CentOS. Нажмите 0 для перехода в нее.
2. Ранее загруженные на сервер файлы сертификата Центра Сертификации (.CA) и сертификата вашего веб-сайта (.CRT) объедините в один документ:
cat /etc/ssl/mydomain.ru_crt.crt /etc/ssl/mydomain.ru_ca.crt >> mydomain.crt
3. Откройте файл конфигурации ssl.conf:
Внимание: если редактор nano не установлен на сервере, установите его командой yum install nano.
4. В открытом файле настройте пути до загруженных ранее файлов сертификатов:
ssl_certificate /etc/ssl/mydomain.crt;
ssl_certificate_key /etc/ssl/private.key;
/etc/ssl/mydomain.crt - путь до файла сертификатов Вашего сайта и центра сертификации
/etc/ssl/private.key - путь к файлу Вашего закрытого ключа
Пример файла ssl.conf:
# If they come here using HTTP, bounce them to the correct scheme
# Nginx internal code used for the plain HTTP requests
# that are sent to HTTPS port to distinguish it from 4XX in a log and an error page redirection.
error_page 497 https://$host$request_uri;
# Increase keepalive connection lifetime
keepalive_timeout 70;
keepalive_requests 150;
# SSL encryption parameters
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESG$
ssl_prefer_server_ciphers on;
ssl_certificate /etc/ssl/mydomain.crt;
ssl_certificate_key /etc/ssl/private.key;
# performance
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
5. Теперь активируйте опцию SSL в консоли управления 1C-Битрикс. Отключитесь от сервера, а потом повторно подключитесь к нему по SSH.
Откроется консоль Available Actions, введите в ней 6 (Manage sites in the pool), а затем 5 (Change https settings on sites).
Если на сервере Битрикс установлен только один веб-сайт, просто нажмите Enter в ответ на запрос имени сайта (Enter site name). Если сайтов больше одного, наберите название веб-сайта, для которого установлен SSL сертификат, и нажмите Enter. Вам предложат отключить доступ по HTTP (незащищенному протоколу) для данного сайта. Хотите сохранить такой доступ - нажмите n. Для доступности сайта только по защищенному протоколу https - нажмите Y.
6. Перезагрузите сервер
Проверьте настройки
Установка SSL сертификата на CMS 1С-Битрикс окончена. Теперь откройте Ваш веб-сайт в браузере по протоколу https (например, https://mydomain.ru). При правильной установке сертификата в адресной строке браузера появится иконка замка, и при клике на нее отобразится информация о приобретенном SSL сертификате!
Не нашли ответа на Ваш вопрос? Напишите нам!
sales@cloudlite.ru - вопросы по услугам, оплате, документам и партнерству
Установка платного SSL-сертификата на сервер с Битрикс
Если сертификат приобретён у нас, скачать файлы сертификата для установки можно в Личном кабинете. Выберите сертификат , сверху Просмотр — в конце страницы будут ссылки для скачивания.
Если вы приобрели у нас и платный сертификат, и VDS/VPS для сайта — сертификат установим сами бесплатно. Для этого напишите запрос в службу поддержки.
Процесс установки
Загружаем файлы сертификата ( certificate.key, certificate.crt, certificate.ca-bundle ) на сервер.
Для этого подключаемся к серверу по SFTP , например, с помощью WinSCP или Filezilla .
При подключении укажите IP-адрес сервера, логин root, пароль и порт 22:
Система запросит подтвердить соединение — соглашаемся:
Откроется окно для работы с файлами. В нём по умолчанию домашняя папка пользователя root, переходим на уровень выше:
Последовательно переходим в папку /etc/nginx , создаём папку certs (в WinCSP можно использовать горячую клавишу F7):
Переходим в созданный каталог:
Загружаем в папку /etc/nginx/certs наши файлы сертификата, ключа и цепочки сертификатов( .crt , .key и .ca-bundle ):
Подтверждаем загрузку, по завершении выходим из SFTP-клиента .
Следующий шаг — подключаемся к серверу по SSH с данными root . Открывается контекстное меню Битрикс, переходим:
→ 8. Manage nodes in the pool → 3. Configure certificates → 2. Configure own certificate
Указываем, для какого сайта устанавливаем сертификат: для основного пишем default, для дополнительных — название сайта. Указываем пути* к сертификату, подтверждаем установку:
* — мы поместили файлы в папку /etc/nginx/certs , поэтому достаточно указать только имена. Если загрузите файлы в другую папку, укажите полный путь от корневой директории либо от папки certs , если в ней несколько сертификатов по разным папкам. Например:
/home/bitrix/www/certificate.key (от корня),
/site1_ru/certificate.crt (от папки certs).
Система сообщает, что задание на установку запущено, и предлагает выйти, нажав Enter. Нажимаем Enter — нас возвращает в предыдущее окно. Возвращаемся в самое первое меню (два раза вводим 0: 0. Go to previous screen or exit).
Если установка сертификата прошла успешно, теперь сайт работает по http и https. Проверить это можно двумя способами:
1) В контекстном меню Битрикс выбираем вариант
5. Background tasks in the pool
Отобразятся выполняемые/завершенные процессы:
2) Переходим на наш сайт по ссылке https://
Если все в порядке, возвращаемся в контекстное меню Битрикс и отключаем HTTP. Выбираем пункты:
6. Manage sites in the pool -> 5. Change https settings on site
Выбираем сайт и подтверждаем отключение работы незащищенного HTTP-соединения.
Проверяем сайт по http:// — открывается https:// :