服务器发送的事件通过清漆代理

Mat*_*t S 2 html5 varnish server-sent-events

我有一个在Varnish代理后面运行的网站.为服务器发送的事件打开的任何连接都不会获取任何内容,也不会关闭.Varnish似乎在将内容转发到浏览器之前等待内容流结束.并且它保持连接对服务器开放,直到内容结束.这两个问题都与服务器发送的事件不兼容.

如何配置Varnish立即将内容刷新到浏览器并在浏览器关闭其连接时关闭与服务器的连接?

或者我可以动态地指示Varnish完全作为连接的传递,就好像它甚至不存在一样?我可以在非代理系统上运行完全相同的Web应用程序,没有任何问题.而且我无法在此设置中完全绕过Varnish(例如,不同的端口).

Doo*_*day 5

你试过在vcl_recv中返回管道吗?

文档:

管道也可以从vcl_recv返回.管道短路客户端和后端连接,Varnish将坐在那里来回移动字节.Varnish不会查看来回发送的数据 - 因此您的日志将不完整.请注意,使用HTTP 1.1,客户端可以在同一连接上发送多个请求,因此您应该指示Varnish在实际返回管道之前添加"Connection:close"标头.

不要错过你只需要为SSE传入请求返回管道.