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. Ошибка RelationController: "Не удалось найти шаблон (partial) ... traits\ViewMaker.php"

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

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

FrontEnd контроллеры в OctoberCMS

В OctoberCMS нет концепции frontEnd контроллеров. Иными словами, идеология этой CMS не подразумевает возможность просто создать некий ProductController с несколькими action для обслуживания маршрутов Route::method('product/{id}', 'ProductController@show'). Вместо этого предлагается использовать компоненты плагинов. Именно компоненты являются формой frontEnd контроллеров.