proxy_http_version

Директива 'proxy_http_version' указывает версию протокола HTTP, используемую при общении с проксируемым сервером. — NGINX HTTP Core

proxy_http_version
httpserverlocation
Синтаксисproxy_http_version 1.0 | 1.1;
По умолчанию1.1
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива 'proxy_http_version' позволяет задать желаемую версию протокола HTTP (например, HTTP/1.0 или HTTP/1.1), которую NGINX должен использовать при подключении к бэкенд-серверу при проксировании запросов. Выбор версии протокола может влиять на поведение соединения и на доступные дополнительные возможности, такие как keep-alive-соединения, в зависимости от возможностей проксируемого сервера. В контексте конфигурации NGINX эта директива может быть указана в контекстах 'http', 'server' или 'location', что позволяет тонко контролировать отдельные участки конфигурации в части того, как NGINX взаимодействует с upstream-серверами. Например, при использовании HTTP/1.0 без keep-alive по одному соединению можно отправить только один запрос, что может повлиять на производительность вашего приложения в зависимости от того, как обрабатываются запросы. Синтаксис директивы: 'proxy_http_version ;' где — желаемая версия HTTP (например, '1.0' или '1.1'). Важно убедиться, что сервер, на который вы делаете проксирование, поддерживает указанную версию HTTP, иначе вы можете столкнуться с непредвиденными ошибками или ухудшением производительности.

Пример конфига

location /api {
    proxy_pass http://backend;
    proxy_http_version 1.1;
}

Установка 'proxy_http_version' в '1.0' по умолчанию отключает keep-alive соединения.

Убедитесь, что upstream server поддерживает выбранную версию HTTP, чтобы избежать ошибок. Изменение версии может изменить ожидаемое поведение соединения.