Как включить в Nginx HTTP/3 и QUIC

HTTP/3 - это третья версия протокола передачи гипертекста (HTTP), который используется для передачи данных во Всемирной паутине. По сравнению со своим предшественником HTTP/2, HTTP/3 работает через QUIC, протокол транспортного уровня, вместо TCP. Это изменение уменьшает задержку и улучшает качество просмотра веб-страниц.

Это руководство содержит подробные инструкции по включению HTTP/3 на Nginx, если он уже установлен и работает. Мы изменим конфигурационный файл Nginx, чтобы убедиться, что модули http2 и http3 включены в директиве listen, и добавим необходимые опции в блок server.

Необходимые условия

  • Работающий сервер Nginx с установленным Nginx v1.25+.
  • Root или sudo доступ к серверу
  • Базовые знания командной строки Linux и конфигурации Nginx

Шаг 1: Доступ к файлу конфигурации Nginx и его изменение

Чтобы начать процесс, необходимо получить доступ к конфигурационному файлу сервера Nginx. Этот конфигурационный файл обычно находится по адресу /etc/nginx/nginx.conf. Для доступа к этому файлу вы можете использовать любой текстовый редактор по вашему выбору. Однако для облегчения понимания и простоты демонстрация будет проводиться с помощью текстового редактора nano. Вы можете открыть этот файл в nano с помощью следующей команды:

Шаг 2: Изменение директивы Listen для HTTP/2 и HTTP/3

После того как вы открыли конфигурационный файл, ваша следующая задача - найти в нем блок сервера. Очень важно убедиться, что модули HTTP/2 и HTTP/3 активированы в директиве listen.

Ваша директива listen после необходимых изменений должна выглядеть следующим образом:

В приведенном выше фрагменте директива listen предписывает Nginx отслеживать указанные порты. В данном конкретном контексте Nginx настроен на прослушивание портов 80 (HTTP), 443 (HTTPS с HTTP/2) и 443 с включенным HTTP/3.

Шаг 3: Включение параметров конфигурации SSL и HTTP/3

В идентичном блоке сервера теперь нужно добавить параметры конфигурации SSL, как показано ниже:

Здесь /etc/ssl/certs/your_domain.crt и /etc/ssl/private/your_domain.key являются заполнителями. Вам нужно заменить их на правильные пути к вашему SSL сертификату и закрытому ключу, соответственно. Этот набор настроек, по сути, активирует QUIC и HTTP/3 на вашем сервере Nginx.

Шаг 4: Сохранение изменений и выход из редактора

После выполнения необходимых изменений пришло время сохранить и закрыть файл конфигурации. Если вы используете nano в качестве текстового редактора, вы можете просто сохранить и выйти, нажав Ctrl+X, затем Y, а затем Enter.

Шаг 5: Перезапуск сервера Nginx

Для того чтобы изменения вступили в силу, необходимо перезапустить сервер Nginx. Вы можете выполнить эту задачу с помощью команды, приведенной ниже:

Шаг 6: Проверка поддержки HTTP/3

Наконец, чтобы убедиться, что ваш сервер правильно настроен для поддержки HTTP/3, вы можете воспользоваться онлайн-инструментом тестирования, например, HTTP/3 Check. Все, что вам нужно сделать, это ввести имя вашего домена и нажать кнопку "Check". Если сервер настроен правильно, вы увидите зеленую галочку, которая указывает на то, что ваш сервер поддерживает HTTP/3.

Вы также можете проверить поддержку HTTP/3, используя команду curl с флагом --http3, как показано ниже:

Если поддержка HTTP/3 настроена правильно, вы получите ответ, начинающийся с HTTP/3 200, как показано в этом гипотетическом выводе:

В приведенном выше выводе код состояния HTTP/3 200 указывает на успешный HTTP-запрос. Строка alt-svc показывает, что на этом сервере доступны альтернативные услуги, включая поддержку HTTP/3 на порту 443. Значение ma (максимальный возраст) показывает, как долго эта информация должна кэшироваться, в данном случае в течение 86400 секунд (один день).

Заключение

Включение HTTP/3 и QUIC на вашем сервере Nginx может стать важным шагом на пути к оптимизации производительности и безопасности ваших веб-приложений. Это техническое руководство провело вас через весь процесс, показав, как получить доступ и изменить конфигурационный файл Nginx, изменить директиву Listen для HTTP/2 и HTTP/3, включить необходимые конфигурации SSL и HTTP/3, сохранить изменения, перезапустить сервер Nginx и, наконец, проверить поддержку HTTP/3.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий