Как настроить 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.

Если у вас останутся какие-то вопросы  — смело обращайтесь в нашу техподдержку.