基本上我使用的是 ai 工具 api,所以我首先创建一个 POST 请求来创建数据库条目,然后获取流输出,我使用 EventSource()
即使在部署中(没有 cloudflare)也能完美工作
我已经尝试了所有这些改变
(any(http.request.headers["accept"][*] eq "text/event-stream")) or (any(http.request.headers[":accept:"][*] eq "text/event-stream"))
第二条规则
(http.request.uri contains "/api/tools/video-generate?user=") or (http.request.uri contains "/api/tools/image-generate?user=") or (http.request.uri contains "/api/tools/music-generate?user=")
res.writeHead(200, {
"Content-Type": "text/event-stream",
"Content-Encoding": "none",
"Cache-Control": "no-cache, no-transform",
Connection: "keep-alive",
"X-Accel-Buffering": "no",
"Access-Control-Allow-Origin": allowedOrigins.includes(origin)
? origin
: "null",
"Access-Control-Allow-Methods": "GET",
"Access-Control-Allow-Headers": "Content-Type, Authorization",
});
proxy_set_header X-Accel-Buffering no;
现在在部署中,当代码运行时,我收到此错误
ERR_HTTP2_PROTOCOL_ERROR
- 我曾经遇到过这个错误
但有些用户收到此错误
ERR_QUIC_PROTOCOL_ERROR
- 但现在每次我只收到此错误
所以肯定有问题,我认为其他用户收到其他不确定的错误消息
ERR_QUIC_PROTOCOL_ERROR
同样,当我执行完第四点后,在 api 调用中,我能够看到 EventStream,但是一旦完成新的写入请求,就会出现错误。第一个写入请求确实收到,但其余的则没有收到。
您找到解决方案了吗?我还在 Cloudflare 中完成了所有可调整的配置,但仍然无法正常工作。当我通过 VPS / Traefik 直接访问我的应用程序时它可以工作,但是当它隐藏在 Cloudflare 后面时什么也不会发生,哈哈。