proxy_http_version
Директива 'proxy_http_version' указывает версию протокола HTTP, используемую при общении с проксируемым сервером.
Описание
Директива '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 <version>;' где <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, чтобы избежать ошибок. Изменение версии может изменить ожидаемое поведение соединения.