3.2.9 Як увімкнути протокол HTTP/2
Протокол 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 на сервері з NginX
Якщо Ви використовуєте наші сервери на шаблоні Ubuntu 18 (або новішому) із встановленою ISPManager4, Ваш сервер підтримує HTTP/2 “з коробки”. Процес активації буде аналогічний такому на хостингу, зміни в конфігу Nginx будуть внесені автоматично.
Якщо образ старіший, активація виконується наступним чином:
1. Підключіться за SSH і перевірте поточну версію Nginx за допомогою команди:
- nginx -v
Вивідnginx version: nginx/1.18.0 (Ubuntu)
Якщо версія Nginx нижче 1.9.5, продовжувати виконання інструкції категорично не варто! Це може призвести до повної непрацездатності всього сервера.
2. Увійдіть у панель управління сервером під суперкористувачем root.
3. Виберіть потрібний сайт у вкладці WWW домени та відкрийте його властивості за допомогою кнопки Змінити. Переконайтеся, що до нього підключено SSL-сертифікат.
4. Виберіть потрібний сайт кліком миші та натисніть Конфіг у верхньому правому кутку. Ця дія дозволить Вам переглядати та редагувати конфіг Nginx для вибраного сайту.
5. У вкладці Nginx, що відкрилася, знайдіть секцію listen
:
Попередження: IP-адреса 37.72.129.24:443
є прикладом. IP-адреса Вашого сервера буде відрізнятися і редагувати її значення не потрібно!
...
listen 37.72.129.24:443 ssl;
listen 37.72.129.24;
...
Додайте в блок директиву http2
наступним чином:
...
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.