Справочный центр
Справочный центр: Работа с сайтом
Настройка сайта для работы по протоколу HTTPS
Отправлено Инна Соломка в 27 February 2017 11:30

По умолчанию все сайты работают по протоколу HTTP, но у него есть один недостаток: данные передаются в открытом виде и никак не защищены.
На пути из точки А в точку Б информация в интернете проходит через десятки промежуточных узлов, и, если хоть один из них находится под контролем злоумышленника, данные могут перехватить. То же самое может произойти, когда вы пользуетесь незащищённой сетью Wi-Fi, например, в кафе. Это особенно критично, если на сайте есть авторизация (логин-пароль) или принимаются платежи.
Для установки безопасного соединения используется протокол HTTPS с поддержкой шифрования.

Когда сайт работает по безопасному протоколу HTTPS, это видно в адресной строке браузера: 


О том, как перевести свой сайт на работу по HTTPS, мы расскажем в этой статье.
В первую очередь, вам понадобится SSL сертификат. Если вы уже подключили его, переходите к информации ниже. Если SSL еще не подключен, вернитесь к этой статье после установки сертификата по инструкции "Подключение SSL на Linux-хостинге"

Настройка сайта для работы по защищенному соединению:

1. Прописываем в файл .htaccess правило перенаправления с протокола http на https
2. Проверяем наличие ссылок, которые явно используют HTTP
3. Применяем индивидуальные настройки для распространенных CMS

1. Прописываем в файл .htaccess правило перенаправления с протокола http на https

Осуществить это можно с помощью следующей конструкции:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Эта конструкция работает в большинстве случаев. Если все же при ее добавлении у вас наблюдается ошибка, которая отображается в браузере как Error 310 (net::ERR_TOO_MANY_REDIRECTS), попробуйте использовать следующие правила:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

[↑наверх]

2. Проверяем наличие ссылок, которые явно используют HTTP

Если на странице, загружаемой по HTTPS, будет содержаться контент, который передается по протоколу HTTP, то соединение с вашим сайтом будет считаться только частично защищенным.
Поэтому нужно проверить наличие такого контента в консоли разработчика или с помощью специализированных сервисов, например, https://www.whynopadlock.com/ 

В случае, если это произошло, то значок в левой части строки для ввода URL продолжит отображаться как серый восклицательный знак в круге и при нажатии на нем высветится уведомление, что на странице присутствует смешанный контент (Mixed content). Для того, чтобы убрать это предупреждение:

а) Изменяем ссылки для элементов доступных только по протоколу HTTP на относительные. Например, заменяем в коде страницы http://myname.ru/example/file/error.png  на /example/file/error.png
б) В явном виде использовать протокол https, например ссылку http://myname.ru/example/file/error.png меняем на https://myname.ru/example/file/error.png 

Если при открытии страницы прогружаются файлы, которые расположены на сторонних ресурсах, например, http://pp.vk.me/c604823/v604823820/2dc87/example.jpg, также доступно два варианта:

а) Заменяем ссылки на относительные: //pp.vk.me/c604823/v604823820/2dc87/example.jpg
б) Явно указываем защищенный протокол: https://pp.vk.me/c604823/v604823820/2dc87/example.jpg. При этом необходимо, чтобы сам элемент был доступен по протоколу https.

Или можно отказаться от этого файла и удалить его из кода загружаемой страницы.

[↑наверх]

3. Применяем индивидуальные настройки для распространенных CMS

Кроме описанных выше действий, большая часть популярных систем управлений сайтами имеют собственные настройки для работы по протоколу HTTPS. Ниже описаны шаги, которые помогут вам в изменении параметров некоторых CMS. Обратите внимание, что все действия необходимо производить после того, как для сайта будет подключен SSL-сертификат. В ином случае, сайт может стать недоступным.

Wordpress

В административной части сайта, работющего на основе CMS Wordpress, производится смена протокола в URL-адресе сайта.
Авторизуйтесь под именем администратора. В разделе "Настройки" -> "Общие", внесите корректировки в полях "Адрес WordPress" и "Адрес сайта". Вместо "http://yourdomain.ru"  пропишите "https://yourdomain.ru". Помимо этого, в конфигурационном файле (wp-config.php) добавьте: define('FORCE_SSL_ADMIN', true);

Joomla!

Найдите в конфигурационном файле сайта (configuration.php) следующие строки:
public $live_site =''";
...
public $force_ssl = '0';

и замените их на следующие:

public $live_site = 'https://www.sitename.ru';
...
public $force_ssl = '1';

Битрикс

Для настройки работы CMS Битрикс по защищенному соединению необходимо авторизоваться в административной части сайта.
После этого перейдите в раздел "Настройки" - "Управление масштабированием" - "Панель управления" - "Глобальные действия" - "Включить https".

OpenCart

Для начала авторизуйтесь в административной части сайта на основе CMS OpenCart и перейдите в раздел "System" - "Settings" - "Edit". Во вкладке SERVER выберите Use SSL: (ON). После этого откройте файл /config.php, расположенный в корне вашего сайта, с помощью текстового редактора и замените строки:
define(‘HTTPS_SERVER’, ‘http://sitename.ru/’);
define(‘HTTPS_IMAGE’, ‘http://sitename.ru/image/’);

на следующие:
define(‘HTTPS_SERVER’, ‘https://sitename.ru/’);
define(‘HTTPS_IMAGE’, ‘https://sitename.ru/image/’);

Также правки необходимо внести в файле admin/config.php. Найдите строки:

define(‘HTTPS_SERVER’, ‘http://sitename.ru/admin/’);
define(‘HTTPS_CATALOG’, ‘http://sitename.ru/’);
define(‘HTTPS_IMAGE’, ‘http://sitename.ru/image/’);

и измените их на:
define(‘HTTPS_SERVER’, ‘https://sitename.ru/admin/’);
define(‘HTTPS_CATALOG’, ‘https://sitename.ru/’);
define(‘HTTPS_IMAGE’, ‘https://sitename.ru/image/’);

Drupal

Добавьте в конфигурационный файл сайта, расположенный в папке /sites/default/settings.php , следующую директиву:
$conf['https'] = TRUE;

MODX

Для настройки CMS MODX Evolution необходимо подключить использование защищенного соединения в административной части сайта: Инструменты – Конфигурация – Тип сервера: Выставить https.
При использовании MODX Revolution в конфигурационном файле core/config/config.inc.php замените:
if (!defined('MODX_URL_SCHEME')) {
$url_scheme= $isSecureRequest ? 'https://' : 'http://';

на следующие строки:
if (!defined('MODX_URL_SCHEME')) {
$url_scheme= 'https://';

После произведенных действий ваш сайт будет открываться по HTTPS. Если возникнут вопросы, напишите запрос в поддержку из своей Панели управления panel.infobox.ru на вкладке "Поддержка" - "Запросы". Мы будем рады помочь!

[↑наверх]

Возможно, вам также будут полезны эти статьи:

Виды SSL-сертификатов 
Работа с htaccess на Linux-хостинге 
Что влияет на позицию сайта в поисковой системе? 
Как повысить скорость и производительность сайта

(10 голосов)

© 2002—2020 ООО «Национальные телекоммуникации»