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

Во время разработки модели данных OctoberCMS при необходимости, можно использовать собственные сообщения об ошибках валидации полей формы вместо сообщения The :attribute field is required. по-умолчанию. В статье показывается как, достаточно просто, это делается.

OctoberCMS. Ошибка RelationController: "Не удалось найти шаблон (partial) ... traits\ViewMaker.php"

В контроллере поведения RelationController при нажатии на кнопке "Cоздание" вылетает ошибка с подобным содержаним

"Не удалось найти шаблон (partial) с именем _comments.htm." on line 91
of ...\modules\system\traits\ViewMaker.php