Включение поддержки протокола HTTP/2 в Nginx, на проекте CRYSTAL v1.0
add: 4 июля
upd: 6 июля
HTTP/2 — это современная версия протокола HTTP, разработанная для устранения ограничений HTTP/1.1 и улучшения работы веб-приложений.
Ключевые технические усовершенствования:
- Мультиплексирование: несколько запросов и ответов передаются одновременно по одному TCP-соединению, без блокировки.
- Сжатие заголовков (HPACK): снижает избыточность данных и ускоряет обмен информацией между клиентом и сервером.
- Серверный push: позволяет серверу заранее отправлять ресурсы, такие как стили, скрипты и изображения, ещё до того, как браузер сам их запросит. Это снижает задержку и ускоряет загрузку страницы.
- Бинарный формат: упрощает разбор HTTP-сообщений на стороне сервера и клиента, благодаря чему уменьшаются накладные расходы и ускоряется передача данных.
- Приоритизация: критически важные ресурсы (например CSS или JavaScript) передаются клиенту с приоритетом, ускоряя отображение страницы.
Кроме повышения производительности, HTTP/2 усиливает безопасность сайта за счёт обязательного использования TLS в большинстве браузеров, современных криптографических алгоритмов и защиты от ряда атак, актуальных для HTTP/1.1.
Для включения поддержки протокола HTTP/2, последовательно выполните команды ниже:
nano /etc/nginx/sites-available/crystal
Найдите в открывшимся окне все строки вида:
listen 443 ssl;
и замените их на:
listen 443 ssl http2;
После замены, нажмите последовательно - 'ctrl + x', 'y', 'Enter'.
Далее, введите команду:
systemctl restart nginx && curl -I --http2 https://ВашДомен
Первая строка вывода, должна содержать - 'HTTP/2 200', это означает, что подключение протокола - HTTP/2, прошло успешно.
Вы можете сделать сайт, намного безопаснее, добавив некоторые правила к серверу Nginx, по этой инструкции.
Поделиться
BTC (Network BTC) - 1C2EWWeEXVhg93hJA9KovpkSd3Rn3BkcYm
Ethereum (Network ERC20) - 0x05037ecbd8bcd15631d780c95c3799861182e6b8
Прокомментировать в