我正在使用nginx 1.10.3。
我试图强制的是以下情况:
1.2.3. 客户端<-->服务器 |TCP 3 路 TCP 握手
- 客户端 -->服务器 |HTTP GET
- 服务器 -->客户端 |TCP ACK
- 服务器 -->客户端 |HTTP响应
- 服务器 -->客户端 |TCP RST, ACK
我试图在响应 http get 请求后引发发送 RST 数据包。为此,我在nginx_conf文件中设置了"lingering_close关闭"配置参数,但没有成功。有没有其他方法可以挑起这种场景?
最近我们也遇到了类似的情况:我们的应用程序错误日志中有许多"管道破裂"错误。
在分析了tcp传输信息后,我们发现有时nginx会在将FIN发送到上游服务器后立即发送"RST"。最后的结论,我们认为这种行为的原因是,当客户端关闭与nginx的连接时,nginx会关闭相对上游连接,而不是等待上游执行其余任务。
因此,根据nginx文档,我们将配置proxy_ignore_client_abort on
到nginx配置文件中。参考: http://nginx.org/
附言我们的nginx版本是1.12。