Раздел помощи SpaceWeb

Настройка сайта для работы по HTTPS

25 мар, 2024

Содержание:

Настройка сайта для работы по HTTPS

Если для работы с сайтом должен использоваться протокол HTTPS, после установки сертификата нужно произвести настройку защищенного соединения для всех элементов и страниц сайта.

В первую очередь осуществляется переадресация сайта на защищенный протокол HTTPS. Переадресация с протокола HTTP на протокол HTTPS реализуется добавлением в начало файла .htaccess следующих директив:

RewriteEngine on
SetEnvIf X-Forwarded-Proto https SERVER_PORT=443
SetEnvIf X-Forwarded-Proto https HTTPS=on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Также производится проверка всех ссылок на сайте на предмет явного использования протокола HTTP. При наличии элементов, открывающихся по небезопасному протоколу, соединение будет считаться недоверенным, и информация об этом отобразится в адресной строке.

Проверить страницы сайта можно с помощью следующего сервиса.

При наличии элементов, доступных только по протоколу HTTP, ссылки на них нужно изменить на относительные.

К примеру, вместо

http://yourdomain.com/content/pic.jpg

в коде страницы ссылка должна иметь вид

/content/pic.jpg

либо явно указывать использование протокола HTTPS, в таком случае ссылка будет иметь вид

https://yourdomain.com/content/pic.jpg.

Также необходимо менять ссылки для элементов, загружаемых с внешних ресурсов. Например, если на сайте используется скрипт, доступный по адресу

http://externaldomain.us/scripts/ad.js

эта ссылка должна быть изменена на

//externaldomain.us/scripts/ad.js или https://externaldomain.us/scripts/ad.js.

Сайт, на котором расположен элемент, также должен иметь валидный SSL-сертификат.

Для включения механизма HSTS в файл .htaccess в корне сайта необходимо добавить директиву:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Добавление сайта в список hstspreload.org необходимо выполнить вручную после добавления директивы.

Настройка известных CMS для работы по HTTPS

Помимо ссылок, которые явным образом указываются в коде страницы, существуют особенности при переводе различных CMS на защищенный протокол.

Joomla!

В конфигурационном файле (configuration.php) строка

public $live_site =''";

заменяется на следующую

public $live_site = 'https://www.yourdomain.com';

где "yourdomain.com" - имя домена.

Также вместо строки

public $force_ssl = '0';

используется:

public $force_ssl = '2';.

В Joomla! версии 3.x. перевод сайта на протокол HTTPS может быть осуществлён автоматически в административной панели сайта в разделе Система -> Общие настройки. На вкладке Сервер в поле "Включить SSL" устанавливается значение "Весь сайт".

В Joomla! 3.x. Русская версия для проверки работы сайта по протоколу HTTPS до указания в файле /public_html/.htaccess рекомендуемых в данной статье директив, можно внести изменения в файл /public_html/libraries/joomla/uri/uri.php, заменив строку

if (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS'])!= 'off'))

на

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https').

 Указанные действия производятся уже после установки сертификата на домен, иначе они могут привести к неработоспособности сайта.

Wordpress

Необходимо добавить в файл .htaccess из корня сайта, директивы из начала статьи. После, в административной панели Wordpress производится смена протокола в адресе сайта. Для этого в разделе "Настройки" > "Общие", в полях "Адрес WordPress" и "Адрес сайта" протокол "http" меняется на "https". 

Для быстрой и удобной настройки SSL можно воспользоваться специальным плагином Really Simple SSL. Для безопасности сайта все установленные компоненты и плагины необходимо своевременно обновлять.

Bitrix

Работа сайта включается в административной панели сайта с использованием безопасного соединения. Сделать это можно следующим образом: Настройки > Управление масштабированием > Панель управления > Глобальные действия > Включить https.
В новых версиях Bitrix этого не требуется. Достаточно установить редирект на https, прописав директивы в файл .htacсess.

Drupal

В конфигурационном файле (/sites/default/settings.php) добавляется следующая директива

$conf['https'] = TRUE;

Для удобства настройки безопасного доступа к авторизованным разделам сайта рекомендуем установить модули "Auth SSL Redirect" и "Secure Login".

MODX

Для расширенной настройки доступа к сайту по защищенному протоколу рекомендуем установить модуль "SSL 1.0.0-ga", доступный по следующей ссылке. При использовании MODX Revolution для настройки работы сайта по https вносятся следующие изменения в конфигурационный файл core/config/config.inc.php:

if (!defined('MODX_URL_SCHEME')) {
$url_scheme=  $isSecureRequest ? 'https://' : 'http://';

заменить на:

if (!defined('MODX_URL_SCHEME')) {
$url_scheme=  'https://';

После внесения изменений очищается кэш MODX.

Как указать поисковым системам, что сайт является защищенным

Компания Google рассматривает использование HTTPS на сайте в качестве фактора ранжирования. Для корректного индексирования сайта по протоколу HTTPS компания Google рекомендует соблюдать следующие правила:

Перенаправляйте пользователей и поисковые системы на страницу HTTPS или ресурс с переадресацией 301 на стороне сервера для адресов HTTP.

Используйте относительные URL для ресурсов, которые находятся на одном защищенном домене.
Например, для перехода на страницу на вашем сайте example.com, использовать a href="/about/ourCompany.php" предпочтительнее, чем a href="https://example.com/about/ourCompany.php" . Это гарантирует, что ваши ссылки и ресурсы всегда будут использовать HTTPS. За счет этого также уменьшается вероятность ошибок в локальном развитии сайта, так как изображения, страницы и другие ресурсы загружаются из локальной среды разработки, а не из производственной среды.

Используйте схожие по протоколам URL-адреса для всех остальных доменов (например //petstore.example.com/dogs/biscuits.php ), или обновите ссылки своего сайта для перехода непосредственно на ресурс HTTPS.

Конструктор сайтов - настройка протокола HTTPS

Изменения производятся в Конструкторе сайтов, значок Настройки -> Настройки -> галочка в поле "Публикация с принудительным HTTPS" и нажать кнопку "Cохранить".

 Включение шифрования SSL без сертификата приведет к некорректной работе сайта.