CityHost.UA
Допомога і підтримка

Як налаштувати HTTPS для 1С-Бітрікс

 622
21.04.2020
article

Налаштувати 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С-Бітрікс. Для цього треба:

  1. Переконатися у працездатності форм зв'язку на веб-ресурсі. Періодично в ajax-запитах зустрічаються абсолютні лінки, що надсилають дані. Вони стануть неактивними, якщо не замінити їх на https-лінки.
  2. Перевірити вивантаження на Rozetka та інших площадках. Нерідко в скриптах вивантаження строго прописується протокол. І тут доведеться повторно генерувати всі файли вивантаження. Для цього треба вибрати пункти: Роб. стіл – Магазин – Налаштування – Експорт даних. І потім поставити галочку в полі «Використовувати в вивантаженні https протокол в вивантаженні Yandex».
  3. Налаштувати перенаправлення користувачів на 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. Співробітники техпідтримки уточнять суть проблеми і допоможуть її вирішити.


Сподобалася стаття? Розкажіть про неї друзям: