问题:
请求过程中发现,使用了nginx代理之后,请求变慢非常多,每个请求都将近1s
原因和解决方法
nginx在反向代理HTTP协议的时候,默认使用的是HTTP1.0去向后端服务器获取响应的内容后在返回给客户端。
HTTP1.0和HTTP1.1的一个不同之处就是,HTTP1.0不支持HTTP keep-alive。nginx在后端服务器请求时使用了HTTP1.0同时使用HTTP Header的Connection:Close通知后端服务器主动关闭连接。这样会导致任何一个客户端的请求都在后端服务器上产生了一个TIME-WAIT状态的连接。所以我们需要在Nginx上启用HTTP1.1的向后端发送请求,同时支持Keep-alive。
代理之后走的是http 1.0。导致请求变慢。
在nginx配置文件中增加proxy 版本配置proxy_http_version 1.1; 指定为1.1版本即可
Keep-Alive设置: 在Nginx配置中启用HTTP Keep-Alive,这可以保持与后端服务器的持久连接,减少了建立和关闭连接的开销。
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
【nginx】配置proxy_pass之后,响应变慢的问题