当前位置: 首页 > 知识库问答 >
问题:

德鲁帕尔7

鲜于海
2023-03-14

我遇到了和这个人一样的问题: X-Drupal缓存Drupal 7网站总是打MISS,找不到出路。

我正在运行Drupal7-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

这是上光油。com告诉我:“你应该得到一个金星,给你:金星徽章”。。。。

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

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

在我的设置中。我有这个:

$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因为如果我不这样做,清漆失败:

//$conf['cache'] = 1;
//$conf['cache_lifetime'] = 01080;

我已经关闭了所有可能会干扰的模块,比如captcha模块,我会注意到统计数据现在无法正确计算节点命中数,因此缓存了一些内容。。。

我使用的VCL是直接从这个github主机抓取的,改动最少

如何排除此X-Drupal缓存:MISS问题?

共有1个答案

柯瀚海
2023-03-14

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

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

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

 类似资料:
  • 主要内容:克鲁斯卡尔算法的具体实现在连通网中查找 最小生成树的常用方法有两个,分别称为 普里姆算法和克鲁斯卡尔算法。本节,我们给您讲解克鲁斯卡尔算法。 克鲁斯卡尔算法查找最小生成树的方法是:将连通网中所有的边按照权值大小做升序排序,从权值最小的边开始选择,只要此边不和已选择的边一起构成环路,就可以选择它组成最小生成树。对于 N 个顶点的连通网,挑选出 N-1 条符合条件的边,这些边组成的生成树就是最小生成树。 举个例子,图 1 是

  • 我面临着这个问题 我验证了我的系统已经安装了gradle,并且具有所有读写权限。 这个错误有什么具体原因吗? 已检查此链接

  • Gradle无法解析,但它在提供的所有3个存储库中都可用: > 这部分日志很有趣,Gradle只在和本地文件系统中查找: https://jcenter.bintray.com/org/apache/commons/commons-imaging/1.0-SNAPSHOT/maven-metadata.xml https://jcenter.bintray.com/org/apache/commo

  • 在过去的几周里,我在rbind上遇到了问题。hyperframe崩溃后出现以下错误: 错误(函数(...,row.names=NULL,check.rows=FALSE,check.names=TRUE,:提供的行名称长度错误 停止("提供的行名长度错误") (函数(…,row.names=NULL,check.rows=FALSE,check.names=TRUE,fix.empty.names

  • 我正在尝试在Java写单元测试。下面是我的代码片段 类Temp{public void method(){ 测试方法: 然而,在执行测试用例时,我得到以下错误: 如果我的理解是正确的,它期望传递的所有参数都被嘲弄。但这不是我想要的,我希望模拟前4个参数,并根据5个参数(true或false),然后指定方法的适当返回值。 有办法绕过这件事吗? 谢谢