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! 🚀🔒
Не забывайте всегда следить за обновлениями и безопасностью вашего сервера. Удачи! 😊🌐