我有一个长轮询客户端,它们连接到 nginx 并上游到 kestrel dot net。客户端设置了 keepalive,2 分钟后连接中断。在 nginx 端,我有 listen 0.0.0.0:xxx ssl so_keepalive=5分:10:5;大约 6 分钟
我将以太网电缆从电缆中拔出,阻止了任何传输,客户端检测到连接中断,但我的上游服务器没有检测到。上游服务器从未检测到这一点。
现在 nginx 是不是没有检测到这个中断?然后没有关闭与上游的连接?还是我做错了什么?
谢谢
答案1
您的listen
选项仅为侦听套接字指定 keepalive。它不适用于上游连接。
要为上游连接启用 TCP keepalive,您需要proxy_socket_keepalive on;
在 nginx 配置中添加。