Як налаштувати HTTPS для Drupal

Ця частина інструкцій буде дуже короткою, оскільки для налаштування HTTPS на Drupal майже нічого не потрібно робити, крім установки SSL-сертифіката.

Нагадаємо, що ми робили раніше, в минулих частинах:

Що таке змішаний контент (mixed content) і як його виправити

Як налаштувати HTTPS для WordPress

Як налаштувати HTTPS для Joomla

Як налаштувати HTTPS для OpenCart

Як налаштувати HTTPS для PrestaShop

Налаштування HTTPS на Drupal 7

Потрібно додати в конфігураційний файл движка, що знаходиться в папці sites/default/settings.php такі рядки:

$conf['https'] = TRUE;
$base_url = 'https://site.com';

А також в файлі .htaccess в кореневій папці сайту потрібно додати перенаправлення:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Альтернативний варіант настройки перенаправлення на HTTPS – додати в sites/default/settings.php:

if (!array_key_exists('HTTPS', $_SERVER)) {
header('HTTP/1.1 301 Moved Permanently');
header('Location: https://site.com'. $_SERVER['REQUEST_URI']);
exit();
}

Не варто одночасно застосовувати обидва варіанти перенаправлень, оскільки таким чином можете отримати redirect loop – циклічну переадресацію.

Налаштування HTTPS на Drupal 8

Для останньої актуальної версії Drupal не потрібно нічого додавати в settings.php. Досить тільки перенаправлення в файлі .htaccess, як зазначено вище.

Щоб додатково захистити сеанси авторизованих користувачів від перехоплення ви можете встановити модуль Secure Login.

А також для ще більшого захисту від атак типу Men-in-The-Middle (перехоплення даних між клієнтом і сервером) можемо порекомендувати підключити HSTS. Про те, як це зробити у нас вже є стаття.

Все, основні налаштування на цьому завершено.

Якщо якісь посилання все-таки не завантажуються по https – спробуйте змінити їх вручну. Наприклад, в стилях можуть підключатися зовнішні шрифти конструкціями виду:

@import url(https://fonts.googleapis.com/css?family=Scada&subset=latin,cyrillic);

В цих місцях потрібно змінити http на https.

Якщо у вас залишаться якісь питання – сміливо звертайтеся у техпідтримку.