使用节点设置varnish缓存

时间:2014-04-12 19:18:03

标签: node.js ubuntu varnish

我试图在我的Ubuntu VPS上配置Varnish Cache。我已经安装了它并尝试了下面的设置指南和谷歌搜索等,但我的标题似乎永远不会显示清漆是缓存。

我在端口3000上运行节点服务器,但是,端口3000正在转发到端口80 ..所以我不确定它如何与清漆缓存一起使用。以下是我在清漆中更改的相关配置选项...我还没有触及任何其他内容。

档案:/etc/varnish/default.vcl

backend default {
  .host = "127.0.0.1";
  .port = "3000";
}

档案:/etc/default/varnish

DAEMON_OPTS="-a :80 \
         -T localhost:80 \
         -f /etc/varnish/default.vcl \
         -S /etc/varnish/secret \
         -s malloc,256m"

1 个答案:

答案 0 :(得分:1)

如果这是您的整个VCL文件,那么Varnish可能没有缓存的原因有很多。首先,您应该阅读default VCL

默认VCL仅缓存GET和HEAD HTTP请求,并且不会缓存任何包含任何cookie的页面。由于大多数网站现在都有一些Cookie(例如Google Analytics跟踪Cookie),这意味着大多数网站都不会被默认的VCL缓存。

您应该创建自己的VCL,特定于您的网站。例如,以下是removing cookies上的文档。您可以删除不会影响该页面的Cookie。 Varnish不会使用cookie缓存页面的原因是为了避免使用可能会更改页面内容的登录cookie缓存页面(例如,登录用户会看到他们的名字。您不希望页面缓存并提供服务给大家)。