varnish-cache背后的服务器端事件,不发送永不推送的消息或消息

时间:2014-10-14 01:08:45

标签: varnish

我有一个后端使用Redis pub / sub向订阅者发布消息。这在NGINX中非常有效。但是当我在NGINX前放置清漆时,消息从未推送到浏览器,尽管它们是由go-servers发布的。

我的配置foro varnish是使用VCL配置从apt-get install默认安装的。我更新了默认配置以指向我的NGINX

backend default {
    .host = "NGINX_url";
    .port = "80";
}

除此之外,我留下了评论。

很抱歉,如果我在论坛和此处两次提出此问题。我认为清漆是一款非常棒的软件,我很想在我们的生产应用程序上实现它。

提前谢谢

1 个答案:

答案 0 :(得分:0)

当从服务器向浏览器推送消息时,我认为您正在使用websocket。要使用带有清漆的websockets,您必须设置以下vcl

sub vcl_pipe {
     if (req.http.upgrade) {
         set bereq.http.upgrade = req.http.upgrade;
     }
}
sub vcl_recv {
     if (req.http.Upgrade ~ "(?i)websocket") {
         return (pipe);
     }
}

https://www.varnish-cache.org/docs/3.0/tutorial/websockets.html

相关问题