3.2.7 Як увімкнути протокол HTTP/2

HTTP/2 Banner

Протокол HTTP/2 є новою версією транспортного протоколу HTTP для передачі даних веб-сайтів у мережі Інтернет.

Основними перевагами нового протоколу HTTP/2, порівняно з попередніми версіями, можна назвати:

  • Зменшене навантаження на мережу;
  • Низькі витрати на парсинг даних;
  • Покращена продуктивність;
  • Більш ефективна обробка даних між клієнтом та сервером;
  • Зворотна сумісність із HTTP/1.x.

Детально з принципами роботи та перевагами HTTP/2 можна ознайомитись у наступному матеріалі.

Нижче ми розглянемо способи активації використання HTTP/2 на shared-хостингу TheHost та на віртуальних/виділених серверах з встановленим веб-сервером Nginx версії 1.9.5 та вище.

Врахуйте: незалежно від сервера, протокол HTTP/2 вимагає підключеного до сайту SSL-сертифіката для свого функціонування. Підійде як комерційний так і безкоштовний SSL.

Важливо: при активації HTTP/2 хоча б для одного домену на Вашому хостингу/сервері, він автоматично активується і для всіх інших доменів на цій IP-адресі. Обійти подібну поведінку немає можливості, тому що вона пов’язана з технічними принципами реалізації цього протоколу.

Увімкнення протоколу HTTP/2 хостингу

Наш хостинг повністю підтримує використання HTTP/2. Єдиною вимогою для його активації є підключений до сайту SSL-сертифікат.

Якщо сертифікат вже встановлений, для активації HTTP/2 достатньо встановити відповідну галочку у властивостях Вашого сайту у вкладці WWW домени:

Увімкнення протоколу HTTP/2 у властивостях WWW домену

Увімкнення протоколу HTTP/2 на сервері з NginX

Якщо Ви використовуєте наші сервери на шаблоні Ubuntu 18 (або новішому) із встановленою ISPManager4, Ваш сервер підтримує HTTP/2 “з коробки”. Процес активації буде аналогічний такому на хостингу, зміни в конфігу Nginx будуть внесені автоматично.

Якщо образ старіший, активація виконується наступним чином:

1. Підключіться за SSH і перевірте поточну версію Nginx за допомогою команди:

  1. nginx -v
Вивід
nginx version: nginx/1.18.0 (Ubuntu)

Якщо версія Nginx нижче 1.9.5, продовжувати виконання інструкції категорично не варто! Це може призвести до повної непрацездатності всього сервера.

2. Увійдіть у панель управління сервером під суперкористувачем root.

3. Виберіть потрібний сайт у вкладці WWW домени та відкрийте його властивості за допомогою кнопки Змінити. Переконайтеся, що до нього підключено SSL-сертифікат.

4. Виберіть потрібний сайт кліком миші та натисніть Конфіг у верхньому правому кутку. Ця дія дозволить Вам переглядати та редагувати конфіг Nginx для вибраного сайту.

Ispmanager, Конфіг Nginx

5. У вкладці Nginx, що відкрилася, знайдіть секцію listen:

Попередження: IP-адреса 37.72.129.24:443 є прикладом. IP-адреса Вашого сервера буде відрізнятися і редагувати її значення не потрібно!

Оригінальна конфігурація Nginx
...
   listen 37.72.129.24:443 ssl;
   listen 37.72.129.24;
...

Додайте в блок директиву http2 наступним чином:

Конфігурація Nginx з активованим HTTP/2
...
   listen 37.72.129.24:443 ssl http2;
   listen 37.72.129.24;
...

І натисніть Ok. Якщо Nginx не перезавантажився автоматично, перезавантажте його у вкладці Сервіси.

Додатково: якщо на Вашому сервері немає панелі керування ISPManager4, все вказане можна зробити аналогічно за допомогою внесення текстових правок у конфіг Nginx (найчастіше знаходиться за адресою /etc/nginx/nginx.conf). Внесіть вищеописані редагування в блоці server потрібного сайту та перезавантажте Nginx. Для роботи HTTP/2 Ваш сервер повинен відповідати технічним вимогам, включаючи наявність підтрикми ALPN.