HTTP1.0不支持HTTP keep-alive
nginx在后端服务器请求时使用了HTTP1.0同时使用HTTP Header的Connection:Close通知后端服务器主动关闭连接。这样会导致任何一个客户端的请求都在后端服务器上产生了一个TIME-WAIT状态的连接。所以我们需要在Nginx上启用HTTP1.1的向后端发送请求,同时支持Keep-alive
例如下面配置所示:
http{
#前面配置这里省略了 只写了需要更改的地方
upstream www{
server 10.185.62.96:9990;
server 10.185.62.96:9991;
keepalive 50; # 必须配置,建议50-100之间
}
server {
#前面配置这里省略了
location / {
proxy_connect_timeout 100;
proxy_send_timeout 100;
proxy_read_timeout 600;
proxy_http_version 1.1; # 配置支持HTTP1.1
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}