Nginx – це веб-сервер з відкритим вихідним кодом, який завоював серця багатьох адміністраторів і розробників завдяки своїй ефективній роботі, низькому споживанню пам’яті та потужній підтримці різних протоколів. Сьогодні ми поговоримо про налаштування підтримки HTTP/2 у Nginx.

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

Чому перехід на HTTP/2 важливий?

Перехід на HTTP/2 не тільки прискорює завантаження вашого сайту, а й підвищує безпеку передачі даних. Усі сучасні браузери вимагають, щоб сайти використовували HTTPS для підтримки HTTP/2, що робить передачу даних між сервером і відвідувачами більш захищеною.

Процес переходу на HTTP/2

Перед початком налаштування HTTP/2 у вас має бути сервер з Ubuntu 18.04 і встановленим Nginx. Також ваше доменне ім’я має бути спрямоване на сервер, і для цього домену має бути встановлений SSL-сертифікат (наприклад, Let’s Encrypt).

1. Налаштування сервера

Відкрийте конфігураційний файл вашого домену:

vim /etc/nginx/sites-available/ваш_домен

Додайте підтримку HTTP/2 для IPv6 і IPv4 з’єднань:

listen [::]:443 ssl http2 ipv6only=on;
listen 443 ssl http2;

Збережіть зміни та перевірте синтаксис:

nginx -t

2. Покращення безпеки

Для поліпшення безпеки виключіть небезпечні шифри. У конфігураційному файлі вашого домену змініть опцію ssl_ciphers:

ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

Перевірте синтаксис і перезавантажте сервер:

nginx -t
systemctl restart nginx.service

3. Додавання HTTP Strict Transport Security (HSTS)

Для забезпечення ще більшої безпеки додайте заголовок HTTP Strict Transport Security у ваш конфігураційний файл Nginx. Цей заголовок гарантує, що браузери будуть використовувати тільки HTTPS-з’єднання.

У конфігураційному файлі Nginx:

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;

Перевірте синтаксис і перезавантажте сервер.

4. Перевірка коректної роботи HTTP/2.

Ви можете перевірити роботу HTTP/2 за допомогою команди curl:

curl -I -L https://ваш_домен

У відповіді сервера має бути згадка HTTP/2.

Ви також можете використовувати Google Chrome та інструменти розробника для перевірки підтримки HTTP/2.

Тепер ваш сайт готовий до роботи з HTTP/2 – швидшою та безпечнішою версією протоколу HTTP 🚀.

Не забувайте завжди стежити за оновленнями та безпекою вашого сервера. Удачі! 🌐

Читайте також:

Запитання та відповіді

Які переваги використання HTTP/2 порівняно з HTTP/1.1?

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

Чи необхідно вмикати SSL/TLS під час налаштування підтримки HTTP/2?

Так, увімкнення SSL/TLS вкрай важливе під час налаштування підтримки HTTP/2 для забезпечення безпечного зв’язку між клієнтами і сервером. Шифрування SSL/TLS захищає конфіденційні дані від перехоплення і несанкціонованого доступу.

Чи можна налаштувати підтримку HTTP/2 на старих версіях Ubuntu?

Хоча технічно можливо налаштувати підтримку HTTP/2 на старих версіях Ubuntu, як-от 16.04, для оптимальної сумісності та підтримки рекомендується використовувати Ubuntu 18.04 або новіше.

Як перевірити, чи увімкнено HTTP/2 на моєму сервері Nginx?

Ви можете перевірити, чи увімкнено HTTP/2 на вашому сервері Nginx, використовуючи такі інструменти, як curl або онлайн-сервіси тестування HTTP/2. Крім того, вивчення журналів сервера Nginx може дати уявлення про версію протоколу, використовуваного клієнтськими з’єднаннями.

Чи потребує ввімкнення підтримки HTTP/2 додаткових ресурсів сервера?

Увімкнення підтримки HTTP/2 може потребувати трохи більше ресурсів сервера порівняно з HTTP/1.1 через підвищену складність протоколу. Однак переваги в продуктивності зазвичай переважують мінімальні витрати ресурсів.

Чи можу я повернутися до HTTP/1.1 за необхідності після налаштування підтримки HTTP/2?

Так, за необхідності ви можете повернутися до HTTP/1.1, змінивши параметри конфігурації Nginx. Однак перед внесенням будь-яких змін рекомендується ретельно протестувати сумісність і продуктивність вашого сайту.

Про автора

Andrii Kostashchuk

Андрій має досвід програмування різними мовами під різні платформи та системи. Більше 8 років присвятив сфері Інтернет, працюючи з різними CMS, такими як: Opencart, Drupal, Joomla, і звичайно ж найпопулярнішою в наші дні системою керування контентом WordPress.

Переглянути всі статті