Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 22.04.2024)
460260
солдат
348
самолетов
325
вертолетов
7236
танков
13904
ББМ
11736
артиллерия
768
ПВО
1046
РСЗО
15812
машин
26
корабли и катера
Как перейти с HTTP на HTTPS – простая инструкция установки SSL
Опубликовано Обновлено: 14.04.2017

Как перейти с 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’а!

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *