Caching Drupal 7&;清漆4-我总是得到X-Drupal-Cache:未命中,但X-Cache:命中

Caching Drupal 7&;清漆4-我总是得到X-Drupal-Cache:未命中,但X-Cache:命中,caching,drupal-7,varnish,varnish-4,pressflow,Caching,Drupal 7,Varnish,Varnish 4,Pressflow,我遇到了和这个人一样的问题,找不到出路 我正在运行Drupal 7-Pressflow 及 清漆4.0 当我卷曲时,我得到这个结果: TTP/1.1 200 OK Date: Fri, 08 Jul 2016 17:45:08 GMT Content-Type: text/html; charset=utf-8 Connection: keep-alive Set-Cookie: __cfduid=db5fd757e7485622ac16af86f292603f51467999908; expi

我遇到了和这个人一样的问题,找不到出路

我正在运行Drupal 7-Pressflow

清漆4.0

当我卷曲时,我得到这个结果:

TTP/1.1 200 OK
Date: Fri, 08 Jul 2016 17:45:08 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Set-Cookie: __cfduid=db5fd757e7485622ac16af86f292603f51467999908; expires=Sat, 08-Jul-17 17:45:08 GMT; path=/; domain=.adland.tv; HttpOnly
X-Content-Type-Options: nosniff
**X-Drupal-Cache: MISS**
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: public, max-age=86400
X-Content-Type-Options: nosniff
Content-Language: en
X-Generator: Drupal 7 (http://drupal.org)
Last-Modified: Fri, 08 Jul 2016 17:41:27 GMT
Vary: Accept-Encoding
X-Varnish: 196743 3
Age: 213
Via: 1.1 varnish-v4
**X-Cache: HIT**
X-Cache-Hits: 22
Server: cloudflare-nginx
CF-RAY: 2bf55922d49b23d8-IAD
isvarnishworking.com告诉我:“你应该得到一枚金星,给你:金星徽章”

虽然链接Drupal组织线程中建议的“Varnish Indicator Chrome Extension”告诉我Varnish missed出现在我网站的每个页面上,无论我是否登录

如果我在admin/config/development/performance关闭匿名用户的Drupal缓存,Varnish将无法工作。若我在那个里设置了不同的最小缓存生存时间,这并没有什么区别

在my settings.php中,我有以下内容:

$conf['varnish_version'] = 4;
$conf['reverse_proxy'] = True;
$conf['reverse_proxy_addresses'] = array('127.0.0.1');
$conf['page_cache_invoke_hooks'] = FALSE;
$conf['page_cache_maximum_age'] = 86400;
$conf['cache_backends'][] = 'sites/all/modules/varnish/varnish.cache.inc';
$conf['cache_class_cache_page'] = 'VarnishCache';
$conf['reverse_proxy_header'] = 'HTTP_X_FORWARDED_FOR';
$conf['omit_vary_cookie'] = True;
$conf['drupal_http_request_fails'] = FALSE;
还有这个

 $conf['cache_backends'][] = 'sites/all/modules/filecache/filecache.inc';
 $conf['cache_backends'][] = 'sites/all/modules/authcache/authcache.cache.inc';
 $conf['cache_backends'][] = 'sites/all/modules/authcache/modules/authcache_builtin/authcache_builtin.cache.inc';
 $conf['cache_class_cache_page'] = 'DrupalFileCache';
虽然这已从settings.php中的Varnish配置中注释掉,因为如果我没有注释,Varnish将失败:

//$conf['cache'] = 1;
//$conf['cache_lifetime'] = 01080;
我已经关闭了所有可能会干扰的模块,比如captcha模块,我会注意到统计数据现在无法正确计算节点命中数,因此缓存了一些内容

我使用的VCL是直接从


如何解决此X-Drupal-Cache:MISS问题?

您的后端显然正在发送cookie:

Set-Cookie: __cfduid=db5fd757e7485622ac16af86f292603f51467999908; expires=Sat, 08-Jul-17 17:45:08 GMT; path=/; domain=.adland.tv; HttpOnly

在默认配置中,Varnish不会缓存来自后端且存在设置Cookie头的对象。此外,如果客户端发送Cookie头,Varnish将绕过缓存,直接进入后端。

这正是问题所在。@CharlieBrown很高兴我能提供帮助。:)请接受我的回答。我一看到它就接受了,但我没有足够高的声誉来展示它