问题标签 [varnish-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
517 浏览

varnish - 查看清漆缓存未命中 url 以及后端 IP

我在我的 vcl 中使用循环导演。我想查看所有缓存未命中 url 以及后端 IP。现在这样做 sudo varnishtop -i BereqURL 只显示网址而不是后端ip

有没有办法我也可以查看后端 IP 以及上述输出?

我正在使用 vcl 4。

0 投票
1 回答
797 浏览

varnish - 后端 200 后清漆 503

我在 Centos 7.2 上有一个 Varnish 4.0.3 服务器。Varnish 配置了三个后端。我收到来自 Varnish 的间歇性 503。我在 503 事件期间提取了一个 tcpdump,我看到:

  • 消费者向清漆提出要求
  • Varnish 打开套接字到后端。
  • 后端在 < 500 毫秒内响应
  • Varnish 向后端发送一个 ACK​​,FIN。
  • Varnish 向消费者发送 503。
  • 后端向 Varnish 发送 ACK,FIN

失败的请求在根本上看起来与成功的请求没有什么不同。失败率约为每 20k 个请求 1 个。

0 投票
2 回答
85 浏览

varnish - 如何安装 Varnish Cache 的 beta 版本 (varnish-4.1.3-beta1)

在 CentOS 7 中安装 varnish-4.1.3-beta1 需要做什么?

因为我在repo中找不到 rpm 。

0 投票
1 回答
346 浏览

nginx - Varnish 在每 2 分钟后第一次点击时不从缓存中提供内容

我现在被困住了。搜索了很多,但没有找到答案。

我正在使用带有 Varnish v4 的 Apache + Nginx(反向代理)

当我试图在 isvarnishworking.com 上测试清漆时,我第一次得到(是的!有点!)当我立即引用页面时,我得到的只是(是的!)在那之后,当我直到比我再多 2 分钟(是的!有点!)

我认为清漆没有从其缓存中提供内容。有些地方出了问题。也许是 nginx.conf 文件或 default.vcl

我也尝试在 nginx.conf 中增加连接超时,但没有运气。

我也尝试在 nginx 中添加无缓存,但再次没有运气。也许我设置错了。

请指导我。会很感激。我从来没有找到这个问题的答案。也许我错过了从互联网指南中正确看到的东西:(

请帮忙。

谢谢

0 投票
1 回答
32 浏览

varnish - 仍然通过清漆返回排除的 url

我已经从我的清漆缓存中排除了这样的网址

但是当我访问 curl -I http://ip/folder_name时,我仍然看到以下响应

谁能告诉我我做错了什么,我需要排除“所有以/folder_name开头的url”缓存在varnisg中

0 投票
1 回答
598 浏览

caching - Drupal 7 & Varnish 4 - 我总是得到 X-Drupal-Cache: MISS 但 X-Cache: HIT

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

我正在运行 Drupal 7 - Pressflow

清漆 4.0

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

isvarnishworking.com告诉我: “你应该得到一颗金星,给你:金星徽章” ......

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

如果我在 admin/config/development/performance off为匿名用户关闭 Drupal 缓存,Varnish 将根本无法工作。如果我在那里设置不同的最小缓存寿命,那没有什么区别。

在我的 settings.php 我有这个:

和这个

虽然这已从 settings.php 中的 Varnish 配置中注释掉,因为如果我不这样做,Varnish 会失败:

我已经关闭了所有可能干扰的模块,例如验证码模块,并且我会注意到统计信息现在不会正确计算节点命中,所以正在缓存一些东西......

我使用的 VCL 直接从这个 github master 中获取,改动最少

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

0 投票
1 回答
798 浏览

varnish - 有没有办法强制 Varnish 读取 403 响应的 Cache-Control 标头?

从代码中可以看出,由于 403 不是白名单状态,因此Cache-Control标头被忽略:

https://github.com/varnishcache/varnish-cache/blob/4.0/bin/varnishd/cache/cache_rfc2616.c#L112-L114

这是我能想到的最好的:

虽然这可以正确设置和取消设置状态,但每个请求都是一个缓存MISS

#2018

0 投票
1 回答
529 浏览

apache - 为什么 Varnish Cache 不能缓存 .woff 文件?

我有一个 .woff 文件,无论我的 VCL 配置如何,Varnish 都会对其进行点击。这种文件类型有什么东西会阻止它被缓存吗?

我正在使用 Varnish 4.1.3、Ubuntu 14.04.2 LTS 和 Apache 2.4.7。

0 投票
0 回答
803 浏览

varnish - 由于后端获取失败,清漆缓存服务器中出现间歇性 503 错误

由于后端获取失败,清漆缓存服务器中出现间歇性 503 错误

在多次成功请求后,我间歇性地收到 503 backend fetch failed 错误。它们继续随机发生。

这是错误的清漆日志示例:

  • << 请求>> 28612478
  • 开始请求 28612475 rxreq
  • 时间戳开始:1469259438.392350 0.000000 0.000000
  • 时间戳请求:1469259438.392350 0.000000 0.000000
  • 请求开始 10.201.1.11 49351
  • 请求方法 GET
  • ReqURL 一些网址
  • 请求协议 HTTP/1.1
  • ReqHeader 内容类型:应用程序/json
  • ReqHeader 主机:SomeHost
  • ReqHeader 连接:保持活动状态
  • ReqHeader 用户代理:Apache-HttpClient/4.1 (java 1.5)
  • ReqHeader X-Forwarded-For:10.201.1.11
  • VCL_call RECV
  • ReqURL 一些网址
  • ReqURL 一些网址
  • VCL_return 哈希
  • VCL_call HASH
  • VCL_return 查找
  • VCL_call MISS
  • VCL_return 获取
  • 链接 bereq 28612479 获取
  • 时间戳获取:1469259441.892771 3.500421 3.500421
  • 响应协议 HTTP/1.1
  • 响应状态 503
  • RespReason 后端获取失败
  • RespHeader 日期:2016 年 7 月 23 日星期六 07:37:21 GMT
  • RespHeader 服务器:清漆
  • RespHeader 内容类型:text/html;字符集=utf-8
  • RespHeader 重试后:5
  • RespHeader X-Varnish:28612478
  • 响应头年龄:0
  • RespHeader 通过:1.1 varnish-v4
  • VCL_call DELIVER
  • VCL_return 交付
  • 时间戳处理:1469259441.892804 3.500454 0.000034
  • RespHeader 内容长度:285
  • 调试“RES_MODE 2”
  • RespHeader 连接:保持活动状态
  • 时间戳回复:1469259441.892848 3.500498 0.000043
  • 请求帐户 776 0 776 242 285 527
  • 结尾

我试过调整这么多参数,但无法摆脱这些错误。

提前致谢。

0 投票
1 回答
775 浏览

varnish - 在后端生病时增加清漆宽限期

我们使用 Varnish Cache 作为我们许多客户的前端,并且当任何后端出现问题时,我们会优雅地提供陈旧的内容。

我们现在确实有一个失败的后端,我们想增加宽限期(当它生病时),这是一种可能的情况吗?我尝试在文档中挖掘并一无所获。

清漆 4