Налаштувати https для 1С-Бітрікс нескладно. На стандартних шаблонах зазвичай використовуються відносні посилання (не вказується протокол і навіть домен сайту).
І це позбавляє від необхідності вносити кардинальні зміни. Все, що потрібно – купити і встановити SSL-сертифікат, а потім все повторно провірити. І при необхідності – внести невеличкі правки.
Рекомендації по налаштуванню
Перед тим як налаштувати https для 1С-Бітрікс, необхідно знати, які бувають посилання. Всього розрізняють 4 види. Перший – це відносні (/ blog /). Також є 3 види абсолютних лінків:
- з відносним протоколом (sait.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. Співробітники техпідтримки уточнять суть проблеми і допоможуть її вирішити.