Как перейти с HTTP на HTTPS – простая инструкция установки SSL

Веб в своем развитии движется в направлении использования безопасного протокола шифрования HTTPS по умолчанию. Данное направление, помимо прочего, стимулируется и крупными поисковыми системами, как например Google, который еще в 2014 году объявил, что HTTPS станет сигналом SEO-ранжирования. Однако, кроме такого поискового сигнала, переход сайта на HTTPS хорош и другими «плюшками», например:

  • Защита конфиденциальности пользователей (логины, пароли, кредитные карты и т.д.)
  • Браузеры помечают сайты с протоколом HTTP как небезопасные
  • Возможность использовать преимущества HTTP/2 (мультиплексирование, доступ к некоторым API и т.п.)
  • Защита своего рекламного дохода от перехвата недобросовестными Интернет- и Wi-Fi-провайдерами (которые на незащищенных сайтах «крутят» свою рекламу)

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

Этапы перехода на сайт HTTPS:

  • Выбор и получение SSL сертификата
  • Установка сертификата на сервер
  • Перезапуск сервера
  • Проверка установки сертификата SSL на хостинг
  • Редирект с http на сайт https

Выбор и получение сертификата

Для начала вам нужно определиться с тем, бесплатный или платный вам нужен сертификат SSL-протокола. Небольшим сайтам и блогам вполне может хватить и бесплатного SSL-сертификата, или использования, например, самоподписанного (самозаверенного) SSL сертификата. Такие сертификаты не требуют дополнительных финансовых расходов, но имеют ряд существенных ограничений (например, короткий срок действия). Бесплатные сертификаты проще всего получить у хостера (если ваш хостинг достаточно «продвинут» и он выдает такие сертификаты; в этом случае хостинг-провайдер также поможет вам и с установкой сертификата). Бесплатные цифровые SSL-сертификаты выдают также и крупные центры сертификации (например, Let’s Encrypt, CloudFlare и похожие).

Платные же сертификаты имеют ряд дополнительных преимуществ, от которых и зависит их цена. Чем больше преимуществ вы хотите от цифрового сертификата, тем больше будет его цена. Например, самый дорогой SSL-сертификат (мультидоменный, с расширенной валидацией, «зеленой адресной строкой в браузере» и т.п.) обойдется в несколько сотен, а то и тысяч, долларов в год.

Цена бюджетных SSL сертификатов стартует от 10-15$ в год. Самыми известными центрами сертификации являются такие компании как Comodo, GeoTrust, Symantec и Trustwave. Повторюсь: многие хостинг-провайдеры являются дилерами крупных центров сертификации и цифровой SSL-сертификат можно купить напрямую у них; в этом случае хостинг-компания поможет вам и с его установкой.

Установка сертификата на сервер

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

Крупные хостеры позволяют устанавливать цифровой сертификат через панель управления хостингом (например, через ISPmanager или DirectAdmin). В этом случае от вас требуется минимум усилий: перейти в соответствующий пункт (например, «Сертификаты SSL») и дальше кликать на нужных пунктах. Или скопировать нужные данные в соответствующие поля формы. Такой метод установки является рекомендуемым.

ВНИМАНИЕ: следующий метод установки предназначен только для опытных пользователей, которые знают, что делают.

Несколько сложнее дело обстоит с установкой через SSH (или FTP):

  • вручную копируем файлы сертификата (сам сертификат с расширением .crt и закрытый ключ с расширением .key) на сервер
  • изменяем файл настроек конфигурации веб-сервера (например, httpd.conf для сервера Apache, или nginx.conf для сервера Nginx), где прописываем включение режима SSL, а также путь к файлам сертификата.
  • перезапускаем веб-сервер

Пример строк в файле конфигурации для включения режима SSL при веб-сервере Apache:

<VirtualHost x.x.x.x:443> 
 DocumentRoot /var/www/
 ServerName ВашДомен.com
 SSLEngine on
 SSLCertificateFile {путь к файлу}вашдомен.crt
 SSLCertificateKeyFile {путь к файлу}вашдомен.key
 SSLCertificateChainFile {путь к файлу}root.crt
</VirtualHost>

где:

x.x.x.x – это IP-адрес вашего домена,

а 443 – это TCP-порт, который слушает HTTPS по умолчанию (для HTTP по умолчанию 80-й порт)

Пример строк в файле конфигурации для включения режима SSL при веб-сервере Nginx:

server {
 listen x.x.x.x:443;
 server_name ВашДомен.com;
 ssl on;
 ssl_certificate {путь к файлу}вашдомен.crt;
 ssl_certificate_key {путь к файлу}вашдомен.key;
 }

где:

x.x.x.x – это IP-адрес вашего домена

Перезапуск сервера

ВНИМАНИЕ: выполняйте этот пункт, только если вы устанавливаете сертификат вручную, и вы являетесь опытным пользователем, который знает, что делает.

После установки SSL-сертификата на сервер нужно перезапустить веб-сервер, чтобы изменения вступили в силу.

Примеры команд для перезапуска веб-сервера (для различных ОС команды могут отличаться):

Для сервера Apache выполните SSH-команду

/etc/init.d/httpd restart

Для сервера Nginx выполните SSH-команду

/etc/init.d/nginx restart

Проверка установки сертификата SSL на хостинг

После установки сертификата пора проверить успешность такой установки. Самый простой способ проверки сертификата для сайта с https – набрать в адресной строке браузера адрес своего сайта с указанием перед доменом https://. Если установка была успешной, то ваш сайт должен отображаться нормально и все стили, скрипты, картинки и страницы должны нормально подгружаться. Такое редко в реальной жизни бывает с первого раза, но тем не менее :))

Протестировать установку на сайт https-а можно и через онлайн-инструменты (например, SSL Labs или SSL Checker).

Редирект с http на сайт https

После успешной установки и проверки на сайте https`а можно все запросы к своему домену перенаправлять на обязательные SSL/HTTPS ответы.

Ниже указан фрагмент кода, который нужно для этого добавить в файл .htaccess в корне сайта (если у вас сервер Apache).

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

ИЛИ так:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteRule (.*) https://vashdomen.com/$1 [R=301,L]
</IfModule>

Для сервера Nginx директива будет следующая:

# nginx
location / { 
rewrite ^(.*)$ https://vashdomen.com/$1 redirect;
}

(не забудьте везде использовать вместо vashdomen.com свой собственный домен)

(также не забывайте делать бекап файлов и базы данных перед их изменениями)

Рекомендуем также ознакомиться:

Счастливого вашему сайту HTTPS’а!

Tags: SEOWebСЕО

Recent Posts

Отопление и горячая вода – когда нужно, а не когда соизволят включить

Тепло в доме и горячая вода в любое время для многих жителей многоквартирных и частных… Read More

19/09/2020

Инструкция по скачиванию видео с сервиса TikTok (бесплатно и без watermark)

Если вы еще не слышали о TikTok, тогда рекомендуем вам сначала ознакомиться с этим кратким… Read More

17/09/2020

Что есть в бюджетном ноутбуке – на какие характеристики рассчитывать?

Прошли те времена, когда приличный ноутбук стоил от 1000 долларов. Сегодня можно купить довольно неплохой… Read More

16/09/2020

Что лучше – цифровое телевидение Т2 или интернет-телевидение?

Современную жизнь невозможно представить без телевидения. Оно позволяет узнавать о событиях в Украине и мире,… Read More

02/09/2020

Гипоаллергенная подушка. Для чего она важна?

Сейчас найдется мало людей, у которых нет аллергии на продукты или пыльцу растений. Считается, что… Read More

28/08/2020

Футбольный Инстаграм: что нового у топовых футболистов

Некоторые известные футболисты тщательно скрывают свои личную жизнь, а другие - активно постят фотографии с… Read More

24/08/2020