Переход на https

  • Кратко о SSL и https
  • Настройка со стороны хостинга
  • Настройка со стороны системы

Кратко о SSL и https

SSL (secure sockets layer) - криптографический протокол, который подразумевает более безопасную связь. Он использует асимметричную криптографию для аутентификации ключей обмена и коды аутентификации сообщений для целостности сообщений.

HTTPS (HyperText Transfer Protocol Secure) - расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTPS, "упаковываются" в криптографический протокол SSL или TLS. В отличие от HTTP, для HTTPS по умолчанию используется TCP-порт 443.

Наличие SSL сертификата на сайте влияет на позицию в поиске Google, согласно официальному заявлению компании.

Настройка со стороны хостинга

Основная часть настроек при переходе на протокол https осуществляется со стороны хостинга.

Для этого вам необходимо приобрести ssl-сертификат у одного из доступных поставщиков услуг регистрации SSL сертификатов и установить его в панели управления хостингом (возможность самостоятельной установки зависит от конфигурации панели управления хостингом). Если такой возможности нет, вам стоит обратиться к вашему хостеру для установки данного сертификата на ваш хостинг .

Если вы используете наш хостинг, то для создания запроса хостеру вам необходимо:

Шаг 1: Залогиньтесь в личном кабинете хостинга

Открыть форму входа в личный кабинет можно по ссылке

Шаг 2: Откройте форму создания тикета

Перейдите к разделу меню "Центр поддержки", и выберите в нем пункт "Список запросов":

После чего осуществите клик по иконке "Создать":

Шаг 3: Отправление заявки

В появившейся форме, вам необходимо четко описать суть запроса и кликнуть по кнопке "Ок":

Примечание:
Обязательно выберите соответствующие значения в полях "Категория" и "Продукт/Услуга".

Настройка со стороны системы

Со стороны системы, для перехода на https протокол можно использоватьследующие способы решений:

Решение 1:

В файле config.php в папке application/config

найти переменную $config['base_url'] = ''; и в нее вписать напрямую адрес сайта:

$config['base_url'] = 'https://ваш-сайт/';

Далее, если вы используете редирект с www.имя_вашего_сайта.com на просто имя_вашего_сайта.com, то нужно еще в в файле htaccess, вместо

# RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]
# RewriteRule ^(.*)$ http://site.com/$1 [L,R=301]

разместить конструкцию:

RewriteCond %{HTTP_HOST} !^site\.com$ [NC]
RewriteRule ^(.*)$ https://site.com/$1 [R=301,L]

Решение 2:

В файле index.php, который находится в корневой папке сайта, добавить строки кода:

if($_SERVER["HTTPS"] != "on" && $_SERVER["HTTP_X_FORWARDED_PROTO"] == 'http')
{
    header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
    exit();
}
Внимание!

Вносить какие-либо правки со стороны системы необходимо только после окончания настроек хостинга.

Просим учесть, в данном документе указаны только основные решения, которые подходят для большинства серверов. Однако, вопрос настройки SSL, в том числе и со стороны системы, во многом зависит от конфигурации вашего сервера.

В случае, если ни один из предложенных в данной инструкции вариантов не подходит , вам небходимо обратится с данной проблемой непосредственно к хостеру (мы, как разработчики системы, не знакомы со спецификой используемого вами стороннего хостинга).

Редирект на https в файле htaccess

Для нашего сервера и большинства других подходит конструкция вида:

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

Для ряда других хостингов (в часности для Ukraine) подойдет код вида:

RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://site-name.com/$1 [L,R=301]