客户端丢失时关闭服务套接字的代理

客户端丢失时关闭服务套接字的代理

我们正在使用 nginx(目前为 1.6)将我们的服务反向代理到客户端。我们还使用 Server-Sent Events,这是 HTTP 上的一个层,可保持套接字打开。

这是所需的配置部分。

proxy_buffering off;
proxy_http_version 1.1;

这是我们的设置

Client <---> nginx <---> Service
     Socket 1     Socket 2

当我关闭浏览器而没有正确断开连接时,套接字 1 会关闭,而套接字 2 仍处于打开状态。服务发现 nginx 仍处于连接状态,并且仍在继续向其推送消息。

这是我使用 wireshark 看到的场景。

Client -XXX- nginx <---> Service
     Socket 1     Socket 2

有没有办法让 nginx 关闭 Socket 2?

HTTP 会Connection: keep-alive导致任何不良行为吗?

相关内容