Настроить https для 1С-Битрикс несложно. На стандартных шаблонах обычно используются относительные ссылки (не указывается протокол и даже домен сайта). И это избавляет от необходимости вносить кардинальные изменения. Все, что требуется – купить и установить SSL-сертификат, а потом все перепроверить. И при необходимости – внести небольшие изменения.
Рекомендации по настройке
Перед тем как настроить https для 1С-Битрикс, необходимо знать, какие бывают ссылки. Всего различают 4 вида. Первый – это относительные (/blog/). Также есть 3 вида абсолютных линков:
- с относительным протоколом (sait.com.ua/blog/);
- с протоколом https (https://sait.ua/blog/);
- с протоколом http (http://sait.ua/blog/)/.
Избавляться надо от последних. Именно из-за них возникают ошибки mixed content («смешанный контент»).
Теперь можно настраивать https для 1С-Битрикс. Для этого надо:
- Убедиться в работоспособности форм связи на веб-ресурсе. Периодически в ajax-запросах встречаются абсолютные линки, отправляющие данные. Они станут неактивными, если не заменить их на https-линки.
- Проверить выгрузки на Rozetka и прочих площадках. Нередко в скриптах выгрузки строго прописывается протокол. И тут придется по новой генерировать все файлы выгрузки. Для этого надо выбрать пункты: Раб. стол – Магазин – Настройки – Экспорт данных. И затем поставить птичку в поле «Использовать в выгрузке https протокол в выгрузке Yandex».
- Настроить перенаправление пользователей на https.
Последний пункт реализуется через .htaccess несколькими способами:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP:SSL} !1
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
Далее в настройках интеграции с софтом 1С прописывается линк с https. Получится так:
https://site.com/bitrix/admin/1c_exchange.php
Учитывайте, что https протокол поддерживается только на версии 8.3.4 и выше. Поэтому убедитесь, что у вас соответствующая версия.
Если настроить интеграцию с 1С по https невозможно – оставьте http. Надо лишь отредактировать обычный редирект на https следующим образом:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Если используете CDN – зайдите в настройки сервиса «Ускорение сайта CDN». И затем поставьте птичку в поле «Сайт работает по https».
И не забудьте включить https для линков в email-письмах. Делается это в настройках модуля «E-mail маркетинг».
Все, настройка https для 1С-Битрикс считается завершенной.
Если возникнут проблемы – обращайтесь за помощью в техподдержку. Сообщите им, что у вас сайт на 1С-Битрикс, и что вы хотите настроить https. Сотрудники техподдержки уточнят суть проблемы и помогут ее решить.