push_stream_publisher

`push_stream_publisher` 指令使一个 location 能够作为发布端点,将消息流式推送给订阅者。

语法push_stream_publisher ;
默认值none
上下文location
参数none

说明

push_stream_publisher 指令是 NGINX Push Stream Module 的一部分,允许指定的 location 处理来自客户端的传入消息。它要求在 location 上下文中使用,并具有管理发布者发送到特定通道的消息的能力。当配置后,它通过查询字符串识别消息的目标通道,通常使用 ?id= 参数。此功能是构建利用 EventSource 和 WebSocket 等协议的实时消息广播服务的基础。

当向发布端点发出请求时,服务器期望收到包含要分发给指定通道订阅者的数据的 POST 请求。因此,该指令通过启用消息发布直接为实时通信模型做出贡献,随后这些消息可以流式传输给连接到该通道的任何活动订阅者。发布端点的存在补充了 push_stream_subscriber 指令的订阅者功能,从而促进完整的发布/订阅架构。

为确保正常运行,该指令必须与相应的订阅者 location 配对。此外,应在必要时配置适当的访问权限和认证,因为发布通常需要受控以防止滥用或未经授权的内容传递。

配置示例

server {
    location /pub {
        push_stream_publisher admin;
        push_stream_channels_path $arg_id;
    }
}

确保查询字符串中的 ID 参数已正确设置,因为它对于通道识别至关重要。

此指令不应在没有相应订阅者指令的情况下使用;否则,发布的消息将没有接收者。

可能需要访问控制以防止未经授权发布消息。请考虑实施安全措施。

← 返回所有指令