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,

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

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