En

Включение поддержки протокола HTTP/2 в Nginx, на проекте CRYSTAL v1.0

1. Описание протокола HTTP/2

HTTP/2 — это современная версия протокола HTTP, разработанная для устранения ограничений HTTP/1.1 и улучшения работы веб-приложений.

Ключевые технические усовершенствования:

  • Мультиплексирование: несколько запросов и ответов передаются одновременно по одному TCP-соединению, без блокировки.
  • Сжатие заголовков (HPACK): снижает избыточность данных и ускоряет обмен информацией между клиентом и сервером.
  • Серверный push: позволяет серверу заранее отправлять ресурсы, такие как стили, скрипты и изображения, ещё до того, как браузер сам их запросит. Это снижает задержку и ускоряет загрузку страницы.
  • Бинарный формат: упрощает разбор HTTP-сообщений на стороне сервера и клиента, благодаря чему уменьшаются накладные расходы и ускоряется передача данных.
  • Приоритизация: критически важные ресурсы (например CSS или JavaScript) передаются клиенту с приоритетом, ускоряя отображение страницы.

Кроме повышения производительности, HTTP/2 усиливает безопасность сайта за счёт обязательного использования TLS в большинстве браузеров, современных криптографических алгоритмов и защиты от ряда атак, актуальных для HTTP/1.1.

2. Включение поддержки протокола HTTP/2

⚠️ Примечание по безопасности

В данной инструкции и в других пунктах документации, используется команда sudo -i, для перехода в режим суперпользователя (root). Это сделано для ускорения процесса и сокращения команд.

В production-среде, постоянная работа из-под root, не рекомендуется, так как это нарушает принцип наименьших привилегий и существенно снижает безопасность сервера.

Включите sudo:

sudo -i

Для включения поддержки протокола 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, прошло успешно.

В дальнейшем, вы можете включить поддержку, ещё более современной версии протокола - HTTP/3. В данном случае, версия HTTP/2 представлена для упрощения инструкции.

Вы можете сделать сайт, намного безопаснее, добавив некоторые правила к серверу Nginx, по этой инструкции.

CRYSTAL тестируется в

BrowserStack

Поделиться

Копировать

USDT (TRON (TRC20)): TTvJdwtL3VAZKSHbYi8B2eQEQDxbHUD4Ka

POL (Polygon PoS): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2

ETH (Base Mainnet): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2

ETH (ERC20): 0x97377684b9a589eca92e2c6c8430e6dcf2bae8c2

BTC (BTC): 12GkhJZWrdn23PUerGerN7nSZXHwWGm59U

Похожие посты

Этот сайт использует файлы cookies. Нажимая кнопку 'Принять' или продолжая пользоваться сайтом, вы соглашаетесь на использование файлов cookies.