Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 17.04.2024)
456050
осіб
347
літаків
325
гелікоптерів
7193
танків
13827
ББМ
11624
артилерія
760
ППО
1046
РСЗВ
15587
машин
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 сертифікату. Такі сертифікати не вимагають додаткових фінансових витрат, але мають ряд істотних обмежень (наприклад, короткий термін дії). Безкоштовні сертифікати найпростіше отримати у хостера (якщо ваш хостинг досить «просунутий» і він видає такі сертифікати, в цьому випадку хостинг-провайдер також допоможе вам і з встановленням сертифіката). Безкоштовні цифрові 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’а!

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *