Mercure & Event Source Polyfill :Error : 45000 毫秒内无活动。收到 2 个字符。重新连接



我有一个symfony/api PLatform服务器。我添加了美居向API客户发送SSE。在我的客户端,我使用事件源Polyfill进行订阅。

我设法收到消息,但我有以下错误:

错误:45000毫秒内没有活动。收到2个字符。正在重新连接

我读到需要一个心跳来激活连接并避免这个错误。

然后,我将心跳指令添加到集线器命令行:

SERVER_NAME=:3000 MERCURE_PUBLISHER_JWT_KEY='toto' MERCURE_SUBSCRIBER_JWT_KEY=$(cat ../config/jwt/public.pem) MERCURE_SUBSCRIBER_JWT_ALG=RS256 HEARTBEAT_INTERVAL=15s READ_TIMEOUT=2m ./mercure run -config Caddyfile.dev

但一切都没有改变。我仍然有这个错误。

我错过了什么?

谢谢你的帮助

您需要在Caddyfile=>中添加以下配置;heartbeat 15s

route {
encode zstd gzip
mercure {
# Transport to use (default to Bolt)
transport_url {$MERCURE_TRANSPORT_URL:bolt://mercure.db}
# Publisher JWT key
publisher_jwt {env.MERCURE_PUBLISHER_JWT_KEY} {env.MERCURE_PUBLISHER_JWT_ALG}
# Subscriber JWT key
subscriber_jwt {env.MERCURE_SUBSCRIBER_JWT_KEY} {env.MERCURE_SUBSCRIBER_JWT_ALG}

heartbeat 15s

# Extra directives
{$MERCURE_EXTRA_DIRECTIVES}
}
respond /healthz 200
respond "Not Found" 404
}

相关内容

  • 没有找到相关文章

最新更新