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.🌐 Налаштування сервера

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

[php]

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

[/php]

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

[php]

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

[/php]

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

[php]

nginx -t

[/php]

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

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

[php]

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

[/php]

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

[php]

nginx -t
systemctl restart nginx.service

[/php]

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

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

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

[php]

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

[/php]

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

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

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

[php]

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

[/php]

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

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

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

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

Про автора

Andrii Kostashchuk

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

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