K4:Enabling SSL
From In-Portal Developers Guide
| ||
---|---|---|
Статьи в этой категории | ||
|
Перед настройкой протокола нужно, что бы на сервере был установлен действительный (valid) SSL-сертификат. Before configuring the protocol, a valid SSL-certificate must be installed on the server.
valid SSL-certificate | invalid SSL-certificate |
---|---|
The above example shows how a browser window looks when a valid SSL-certificate is installed versus when an invalid SSL-certificate is installed (for example, because it was issued to a different site).
Общие положения - General Items??
All configuration variables needed for configuring an SSL can be found in the section "Configuration -> System Variables
" in the administrative console. It doesn't matter for which side of the site the SSL is being setup, a value for the configuration variable SSL_URL ("SSL Full URL (https://www.domain.com/path)
") must always be entered.
SSL for the administrative console
To configure an SSL for the administrative console, the configuration variable Require_AdminSSL ("Require SSL for Administrative Console
") must be turned on. Then, we press the Save
button in the toolbar and exit the system (logout
). On the login page, you should see what's circled on the image to the left. That's it - the protocol has been configured successfully for the administrative console.
SSL for the site front-end
To configure an SSL for the front-end part of the site (user's side), a couple (depending on functionality of the site) of the following configuration variables must be turned on:
configuration variable | description |
---|---|
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 :
|