nchan_subscribe_existing_channels_only
指令 `nchan_subscribe_existing_channels_only` 限制订阅者只能连接已存在的频道,防止在订阅期间创建新频道。
Scalable, flexible pub/sub server for the modern web
·
httpserverlocation
语法nchan_subscribe_existing_channels_only on | off;
默认值off
上下文http, server, location
参数1
说明
nchan_subscribe_existing_channels_only 指令在设置为 on 时,确保订阅者只能连接那些已被创建且当前在 Nchan 系统中处于活跃状态的频道。此功能在需要严格控制频道资源的场景中特别有用,可以防止订阅者无意中创建新频道。默认情况下,如果订阅者尝试连接一个不存在的频道,Nchan 在正常情况下可能会为其创建新频道;但是此指令会阻止这种行为。
将此指令设置为 off(默认值)允许订阅者在订阅时动态创建新频道。这可能导致频道数量激增,在某些用例中并不理想。此指令通常在具有复杂频道管理需求的环境中使用,以确保订阅者只能操作一组已定义的频道,从而提高可预测性并更好地管理资源。
为有效实现此指令,可将其包含在 Nginx 配置的 http、server 或 location 上下文中。应用后,订阅者尝试使用未知频道 ID 的任何请求都会收到错误响应,从而根据应用需求维持严格的频道强制策略。
配置示例
location /nchan {
nchan_subscribe_existing_channels_only on;
nchan_pubsub;
}⚠
当设置为on时,请确保提前创建频道;否则,订阅者将无法收到来自不存在频道的消息。
⚠
请考虑频道资源管理的影响,尤其是在高流量场景中,可能需要在短时间内大量创建频道。