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! 🚀🔒

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

Об авторе

Andrii Kostashchuk

Андрей имеет опыт программирования на разных языках под разные платформы и системы. Более 8 лет посвятил сфере веб, работая с разными CMS, такими как: Opencart, Drupal, Joomla, и конечно же наиболее популярной в наши дни системой управления контентом WordPress.

Просмотреть все статьи