K4:Как включить SSL-режим
From In-Portal Developers Guide
(general fixes/updates) |
Current revision (11:58, 15 March 2015) (view source) |
||
(One intermediate revision not shown.) | |||
Line 1: | Line 1: | ||
+ | {{Transferred|url = http://community.in-portal.org/pages/viewpage.action?pageId=14155803}} | ||
+ | |||
{{toc | category = Настройка системы | sortkey = 003.001}} | {{toc | category = Настройка системы | sortkey = 003.001}} | ||
- | + | Перед настройкой протокола нужно, что бы на сервере был установлен действительный (valid) SSL-сертификат. | |
{| class="prettytable vertical-table" | {| class="prettytable vertical-table" | ||
- | ! | + | ! действительный SSL-сертификат || не действительный SSL-сертификат |
|- | |- | ||
| style="text-align: center;" | [[Image:ssl_valid.jpg|frameless|border|действительный SSL-сертификат]] | | style="text-align: center;" | [[Image:ssl_valid.jpg|frameless|border|действительный SSL-сертификат]] | ||
| style="text-align: center;" | [[Image:ssl_error.jpg|frameless|border|не действительный SSL-сертификат]] | | style="text-align: center;" | [[Image:ssl_error.jpg|frameless|border|не действительный SSL-сертификат]] | ||
|} | |} | ||
- | + | В приведённой выше таблице можно увидеть как выгладит окно браузера, в случает когда установлен действительный SSL-сертификат и в случае, когда SSL-сертификат не действителен (напр. выдан другому сайту). | |
- | + | ||
- | + | ||
+ | == Общие положения == | ||
+ | Все требуемые для настройки [[K4:Configuration|конфигурационные переменные]] находятся в разделе "<code>Configuration -> System Variables</code>" административной консоли сайта. Независимо о того для какой части сайта настраивается SSL всегда требуется указать значение конфигурационной переменной [[K4:Configuration#SSL_URL|SSL_URL]] ("<code><nowiki>SSL Full URL (https://www.domain.com/path)</nowiki></code>"). | ||
- | == SSL | + | == SSL для административной консоли == |
- | [[Image:ssl_admin.jpg|thumb|left| | + | [[Image:ssl_admin.jpg|thumb|left|Административная консоль в режиме SSL]] |
- | + | Для подключения SSL к административной консоли требуется включить конфигурационную переменную [[K4:Configuration#Require_AdminSSL|Require_AdminSSL]] ("<code>Require SSL for Administrative Console</code>"). Далее нажимаем кнопку <code>Save</code> на панели инструментов и выходим из системы (<code>logout</code>). На странице ввода имени пользователя и пароля должны увидеть то, что обведено на приведённом слева изображении. Вот и все – протокол успешно настроен для административной консоли.{{clear|left}} | |
- | == SSL | + | == SSL для пользовательской части сайта == |
- | + | Для подключения SSL к пользовательской части сайта требуется включить некоторые (в зависимости от функциональности настраиваемого сайта) из ниже приведённых конфигурационных переменных: | |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! конфигурационная переменная || описание |
|- | |- | ||
| [[K4:Configuration#Require_SSL|Require_SSL]]<br><code>Require SSL for login & checkout</code> | | [[K4:Configuration#Require_SSL|Require_SSL]]<br><code>Require SSL for login & checkout</code> | ||
- | | | + | | Включение SSL режима для страниц сайта, где в html коде шаблона прописан тег <code><inp2:m_CheckSSL mode="required" condition="Require_SSL"/></code> |
|- | |- | ||
| [[K4:Configuration#Force_HTTP_When_SSL_Not_Required|Force_HTTP_When_SSL_Not_Required]]<br><code>Redirect to HTTP when SSL is not required</code> | | [[K4:Configuration#Force_HTTP_When_SSL_Not_Required|Force_HTTP_When_SSL_Not_Required]]<br><code>Redirect to HTTP when SSL is not required</code> | ||
- | | | + | | Эта опция нужна для того, чтобы при переходе со страницы с включенным SSL протоколом на страницу без SSL, происходил автоматический переход на адрес без https. |
|- | |- | ||
| [[K4:Configuration#UseModRewriteWithSSL|UseModRewriteWithSSL]]<br><code>Enable MOD_REWRITE for SSL</code> | | [[K4:Configuration#UseModRewriteWithSSL|UseModRewriteWithSSL]]<br><code>Enable MOD_REWRITE for SSL</code> | ||
- | | | + | | Если пользовательская часть сайта использует технологию MOD_REWRITE, то можно (но не обязательно) включить данную опцию, для того, чтобы в SSL-режиме тоже строились MOD_REWRITE ссылки. |
|} | |} | ||
- | + | Для перехода в SSL-режим и обратно на шаблонах следует использовать тэг '''<code>m_CheckSSL</code>'''. Его рекомендуется ставить в начале шаблона или после тэга <code>m_RequireLogin</code>, когда таковой используется. Ниже приведён пример использования данного тега в шаблоне: | |
<source lang="xml"> | <source lang="xml"> | ||
<inp2:m_CheckSSL mode="required"/> | <inp2:m_CheckSSL mode="required"/> | ||
- | <inp2:m_include template="inc/header"/> // | + | <inp2:m_include template="inc/header"/> // внутри шаблона "inc/header" должен быть тэг <inp2:m_CheckSSL/> |
HTML Code | HTML Code | ||
<inp2:m_include template="inc/footer"/> | <inp2:m_include template="inc/footer"/> | ||
</source> | </source> | ||
- | + | Описание параметров тега <code>m_CheckSSL</code>: | |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание |
|- | |- | ||
- | | {{ConfigProperty|mode|string}} || | + | | {{ConfigProperty|mode|string}} || Если указать "<code>required</code>" в качестве значения данного параметра, то шаблон будет помечен, как требующий наличия SSL-режима для своей корректной работы. Если потом зайти на этот шаблон не из SSL-режима, то будет автоматически включён SSL-режим. Если параметр не указывать или указать пустое значение, то произойдёт обратное действие. |
|- | |- | ||
- | | {{ConfigProperty|for_logged_in_only|int}} || | + | | {{ConfigProperty|for_logged_in_only|int}} || Если указать данный параметр, то SSL-режим будет включаться только для авторизованных пользователей. |
|- | |- | ||
- | | {{ConfigProperty|condition|string}} || | + | | {{ConfigProperty|condition|string}} || Название [[K4:Configuration|конфигурационной переменной]], значение которой нужно проверить перед тем, как разрешать переход в SSL-режим. Если указанная конфигурационная переменная отсутствует или выключена, то переход в SSL-режим осуществлён не будет. {{TipBox|Для пользовательской части сайта можно использовать конфигурационную переменную [[K4:Configuration#Require_SSL|Require_SSL]].}} Если планируется переключать некоторые части сайта в SSL-режим в зависимости от настроек конфигурации, то этот параметр является тем, что нужно. |
- | {{TipBox| | + | |
|} | |} | ||
- | [[Image:ssl_front.jpg|thumb|left| | + | [[Image:ssl_front.jpg|thumb|left|Профиль пользователя в режиме SSL]] |
- | + | Вот в принципе и все, после включения всех соответствующих опций и установки тэга <code>m_CheckSSL</code> можно считать настройку законченной. На приведённом слева изображении показана страница <code>My Account</code>, со включенным протоколом SSL. На ней также можно отчётливо видеть 2 корректных "SSL замочка", которые свидетельствуют о том, что защищённый режим установлен правильно. Если же эти "замочки" показаны с перечёркнутой линией, то это означает, что протокол не корректно установлен на сервере или время его действия истекло.{{clear|left}} | |
{| class="vertical-table" | {| class="vertical-table" | ||
- | | [[Image:secure_warning.jpg|thumb|left|SSL | + | | [[Image:secure_warning.jpg|thumb|left|Предупреждение SSL сертификата]] |
- | | | + | | Возможна ситуация, когда браузер может, при попадании на страницу, показывать приведённое на изображении слева сообщение об ошибке. Как правило, такое сообщение можно увидеть тогда, когда на странице есть ссылка, которая прописана не через относительный путь, а через абсолютный и без указания факта использования протокола SSL. Чтобы этого избежать настоятельно рекомендуется все ссылки на элементы сайта (изображения, таблицы стилей и т.п.) формировать при помощи тэга '''<code>m_TemplatesBase</code>''': |
- | * ''' | + | * '''не правильно''': <code><nowiki><img src="http://www.youdomain.com/img/sample_image.gif" alt=""/></nowiki></code> |
- | * ''' | + | * '''правильно''': <code><img src="'''<inp2:m_TemplatesBase/>'''<nowiki>/img/sample_image.gif" alt=""/></nowiki></code> |
|} | |} | ||
+ | |||
+ | [[ru:{{FULLPAGENAME}}]] | ||
+ | [[en:K4:Enabling SSL]] |
Current revision
This article was transferred! You see this message because current Article was transferred to http://community.in-portal.org/pages/viewpage.action?pageId=14155803. |
| ||
---|---|---|
Статьи в этой категории | ||
|
Перед настройкой протокола нужно, что бы на сервере был установлен действительный (valid) SSL-сертификат.
действительный SSL-сертификат | не действительный SSL-сертификат |
---|---|
В приведённой выше таблице можно увидеть как выгладит окно браузера, в случает когда установлен действительный SSL-сертификат и в случае, когда SSL-сертификат не действителен (напр. выдан другому сайту).
Общие положения
Все требуемые для настройки конфигурационные переменные находятся в разделе "Configuration -> System Variables
" административной консоли сайта. Независимо о того для какой части сайта настраивается SSL всегда требуется указать значение конфигурационной переменной SSL_URL ("SSL Full URL (https://www.domain.com/path)
").
SSL для административной консоли
Для подключения SSL к административной консоли требуется включить конфигурационную переменную Require_AdminSSL ("Require SSL for Administrative Console
"). Далее нажимаем кнопку Save
на панели инструментов и выходим из системы (logout
). На странице ввода имени пользователя и пароля должны увидеть то, что обведено на приведённом слева изображении. Вот и все – протокол успешно настроен для административной консоли.
SSL для пользовательской части сайта
Для подключения SSL к пользовательской части сайта требуется включить некоторые (в зависимости от функциональности настраиваемого сайта) из ниже приведённых конфигурационных переменных:
конфигурационная переменная | описание |
---|---|
Require_SSLRequire SSL for login & checkout
| Включение SSL режима для страниц сайта, где в html коде шаблона прописан тег <inp2:m_CheckSSL mode="required" condition="Require_SSL"/>
|
Force_HTTP_When_SSL_Not_RequiredRedirect to HTTP when SSL is not required
| Эта опция нужна для того, чтобы при переходе со страницы с включенным SSL протоколом на страницу без SSL, происходил автоматический переход на адрес без https. |
UseModRewriteWithSSLEnable MOD_REWRITE for SSL
| Если пользовательская часть сайта использует технологию MOD_REWRITE, то можно (но не обязательно) включить данную опцию, для того, чтобы в SSL-режиме тоже строились MOD_REWRITE ссылки. |
Для перехода в SSL-режим и обратно на шаблонах следует использовать тэг m_CheckSSL
. Его рекомендуется ставить в начале шаблона или после тэга m_RequireLogin
, когда таковой используется. Ниже приведён пример использования данного тега в шаблоне:
<inp2:m_CheckSSL mode="required"/> <inp2:m_include template="inc/header"/> // внутри шаблона "inc/header" должен быть тэг <inp2:m_CheckSSL/> HTML Code <inp2:m_include template="inc/footer"/>
Описание параметров тега m_CheckSSL
:
название | описание | ||
---|---|---|---|
mode (string) | Если указать "required " в качестве значения данного параметра, то шаблон будет помечен, как требующий наличия SSL-режима для своей корректной работы. Если потом зайти на этот шаблон не из SSL-режима, то будет автоматически включён SSL-режим. Если параметр не указывать или указать пустое значение, то произойдёт обратное действие.
| ||
for_logged_in_only (int) | Если указать данный параметр, то SSL-режим будет включаться только для авторизованных пользователей. | ||
condition (string) | Название конфигурационной переменной, значение которой нужно проверить перед тем, как разрешать переход в SSL-режим. Если указанная конфигурационная переменная отсутствует или выключена, то переход в SSL-режим осуществлён не будет.
|
Вот в принципе и все, после включения всех соответствующих опций и установки тэга m_CheckSSL
можно считать настройку законченной. На приведённом слева изображении показана страница My Account
, со включенным протоколом SSL. На ней также можно отчётливо видеть 2 корректных "SSL замочка", которые свидетельствуют о том, что защищённый режим установлен правильно. Если же эти "замочки" показаны с перечёркнутой линией, то это означает, что протокол не корректно установлен на сервере или время его действия истекло.
Возможна ситуация, когда браузер может, при попадании на страницу, показывать приведённое на изображении слева сообщение об ошибке. Как правило, такое сообщение можно увидеть тогда, когда на странице есть ссылка, которая прописана не через относительный путь, а через абсолютный и без указания факта использования протокола SSL. Чтобы этого избежать настоятельно рекомендуется все ссылки на элементы сайта (изображения, таблицы стилей и т.п.) формировать при помощи тэга m_TemplatesBase :
|