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' 指令允许您设置 NGINX 在代理请求时与后端服务器连接时应使用的 HTTP 协议版本(例如 HTTP/1.0 或 HTTP/1.1)。协议版本的选择会影响连接行为及可用的可选功能,例如 keep-alive 连接,具体取决于被代理服务器的能力。 在 NGINX 配置中,该指令可在 'http'、'server' 或 'location' 上下文中指定,允许对配置中的特定区域进行细粒度控制,以决定 NGINX 如何与上游服务器交互。例如,当使用 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 连接。

确保上游服务器支持所选的 HTTP 版本,以避免错误。更改该版本可能会改变连接的预期行为。