我知道Nginx可以缓冲来自上游服务器的响应。
我的问题是,Nginx是否还缓冲来自客户端的http请求?我的意思是,如果Nginx从客户端获取http请求,它是否立即与上游服务器建立连接?或者它会在获得整个http请求后创建连接?
应用服务器的许多框架都使用worker-thread-pool模型。如果客户端机器很慢或远离Nginx和上游服务器,而没有在Nginx端缓冲http请求,上游服务器将在等待完成http请求时浪费相当多的CPU资源。
由于
答案 0 :(得分:2)
以下是the proxy module wiki page的引用:
请注意,在使用HTTP代理模块时(甚至在使用FastCGI时),整个客户端请求将在nginx中缓冲,然后再传递到后端代理服务器。
此外,在nginx 1.7之前,无法禁用请求缓冲(请参阅#251)。