问题标签 [njs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
27 浏览

nginx - NGINX 断开单客户端

我的 nginx 正在从 mjpeg-streamer 传递一个网络摄像头流,因此客户端连接会挂起很长时间。在某些时候,我想断开所有仍与该流连接的客户端,而使所有其他客户端保持不变。我已经搜索了几天,这里描述了一个类似的问题。接受的答案说

如果您的目标是断开一个客户端的连接,同时让所有其他客户端保持连接,那么您就不走运了。没有办法用 shell 命令来做到这一点。如果你的 HTTP 连接挂了很长时间(例如 Websockets),那么你可以在应用程序端写一些东西来关闭你不喜欢的连接。

我浏览了 njs(我已经将其用于不同的项目)和 lua。但是,我找不到指向正确方向的提示。有任何想法吗?

ps 根本问题是我正在/mjpeg使用开放策略代理 (OPA) 规则保护 nginx 位置,因此只有传递正确?userid=<long-id-string>url 参数的用户才能访问流。但是,当 OPA 更改 id 时,用户只能在传递新的 id 参数时访问流。但是,当这种情况发生时,我想断开仍连接到具有旧 ID 的流的用户。