OctoberCMS и HTTPS

В этом руководстве рассказывается, как сконфигурировать OctoberCMS для работы по протоколу HTTPS

Подразумевается, что уже имеется SSL сертификат, например Let's Encrypt.

TLDR

/config/cms.php

'cms.linkPolicy' => 'secure',

/config/app.php

'app.url' => 'https://...',

Настройка конфигурационных файлов

В CMS за создание безопасных https ссылок отвечают несколько настроек:

  • linkpolicy Параметр отвечает за создание ссылок во всем приложении.

    /*
    |--------------------------------------------------------------------------
    | Политика создания ссылок
    |--------------------------------------------------------------------------
    |
    | detect   - использование схемы исходя из полученного URL адреса
    | secure   - принудительное использование HTTPS схемы
    | insecure - принудительное использование HTTP схемы
    | force    - использование схемы из значения переменной app.url
    |
    */
    
    'linkPolicy' => 'secure',    

    По умолчанию используется вариант detect. В теории он должен на http страницах делать http ссылки, а на https - https ссылки, но механизм не работает должным образом, поэтому используется вариант secure (предпочтительнее) или force.

  • backendForceSecure Параметр используется для создания принудительного доступа по защищенному протоколу к любым backend страницам, включая страницу аутентификации.

    /*
    |--------------------------------------------------------------------------
    | Принудительная защита backend HTTPS протоколом
    |--------------------------------------------------------------------------
    |
    | false - не влияет использование схемы
    | true - принудительное использование HTTPS схемы на backend
    | null - параметр равен false и становаться true, если режим отладки
    | отключен (app.debug = false) 
    |
    */
    
    'backendForceSecure' => null,

    Нет смысла заморачиваться с backendForceSecure, если используется linkpolicy = secure. В подавляющем большинстве случаем этот парамет = false, так как если отключить режим отладки, а на сайте нет SSL сертификата, то нет возможности попасть в админку.

Бонус

Сочетание

'linkPolicy'=>'insecure',
'backendForceSecure'=>true,

Даёт бесконечный редирект)

Похожие записи

Как в OctoberCMS сделать простейшую переадресацию с одной страницы на другую?

Создаём страницу (Page), задаем URL и в секции код добавляем обработчик на хук жизненного цикла страницы. В данном случае это onStart, которая выполняется перед началом загрузки страницы.

function onStart()
{
    return Redirect::to('http://tyapk.ru');
}