varnish-vcl相关内容

带有清漆缓存的 AJAX GET 请求

我在带有清漆的服务器上运行了一个 AJAX 请求.请求如下: (function() {$("#name").自动完成({minLength:3,//提前输入的最小字符长度来源:功能(请求,响应){$.ajax({类型:'获取',url: php_vars.var_1,//你的服务器端脚本数据类型:'json',数据: {邮政编码:request.term},成功:功能(数据){alert(" ..
发布时间:2021-09-16 19:03:14 前端开发

清漆 4:远程缓存

美好的一天.我需要一些帮助,我无法在清漆中获得任何 HIT/MISS 响应.请帮助我.. 提前致谢..这是我的 default.vcl 配置. 后端默认 {.host = "00.00.00.00";.port = "80";}子 vcl_recv {if (req.http.host == "www.example.com") {取消设置 req.http.cookie;取消设置 req.h ..
发布时间:2021-09-16 19:03:11 其他开发

无法通过 Varnish 4 缓存登录

我需要一些帮助.我怎样才能在新版本中做到这一点?因为 vcl_fetch 已经过时了,它现在在 Varnish 4 中不被接受. sub vcl_fetch{if (beresp.http.set-cookie ~ "sessionid" || beresp.http.set-cookie ~ "csrftoken") {返回(通过);} 别的 {退货(交付);}} 解决方案 Vcl_fet ..
发布时间:2021-09-16 19:03:09 其他开发

如何忽略清漆中的大饼干

我想忽略具有大 cookie 大小的请求.由于“BogoHeader Header 太长:Cookie:xyz",我们在清漆中丢弃了一些请求.如何在 VCL 中完成?我在VCL中没有找到任何len、length或strlen函数,我知道它可以在vcl_rcev阶段完成. 解决方案 strlen() 功能无助于解决您的问题.由于 Cookie 头很大 before vcl_recv 被执行, ..
发布时间:2021-09-16 19:03:02 其他开发

有人可以解释 varnish vmod 在不同情况下使用以下私有指针 PRIV_CALL、PRIV_TASK、PRIV_TOP、PRIV_VCL 吗?

我希望为 varnish 在 vmod 中接收的主机名维护一个本地状态.PRIV_CALL、PRIV_TASK、PRIV_TOP、PRIV_VCL指针使用哪个,哪个场景?这个是为了理解. 解决方案 我认为阅读 vmod 的文档可能会有所帮助:https://github.com/varnishcache/varnish-cache/blob/master/doc/sphinx/refere ..
发布时间:2021-09-16 19:02:59 其他开发

清漆 C VRT 变量/函数

我开始学习 varnish 并且在我们的配置(以及网络上的示例)中遇到了对 C 代码中 VRT 函数的引用,但我找不到相关文档(据我所知,我的 C 知识是非-存在).这是我能找到的最好的,但它只是原型:http://fossies.org/dox/varnish-4.0.2/vrt__obj_8h.html#a7b48e87e48beb191015eedf37489a290 所以这是我们使用 ..
发布时间:2021-09-16 19:02:45 其他开发

不处理 ESI 的清漆包括

我正在尝试设置 Varnish 以在本地环境中处理 ESI 包含. 我在虚拟机中运行 varnish,内容在主机上运行. 我有两个文件“index.html"和“test.html".它们都存储在 apache 服务器的 docroot 中名为“esi"的文件夹中. index.html 它有效! test.ht ..
发布时间:2021-09-16 19:02:42 其他开发

在 Varnish 正则表达式中提取捕获组内容

我在 Varnish 配置语言中有以下正则表达式 ^/abc/([a-zA-Z0-9\-\ ]*)-([0-9]+) 现在,我想在 Varnish 中获取正则表达式的值 $2 部分(即 [0-9]+). 我怎样才能得到这个值? 解决方案 你可以在这种情况下使用 regsub : set req.url = regsub(req.url, "^/abc/([a-zA-Z0-9 - ..
发布时间:2021-09-16 19:02:39 其他开发

内联 C 清漆 (VCL_deliver)

我使用的是 Varnish 4.0. 我的后端正在向一些响应添加一个 http 标头“x-count" 我想用换行符将“x-count"的值记录到文件中. 我认为我应该使用 VCL 交付. 这是我目前所拥有的: sub vcl_deliver {如果 (resp.http.x-count-this:) {设置 resp.http.X-infodbg = "xx";C{文件 ..
发布时间:2021-09-16 19:02:36 其他开发

清漆:Purge 说它有效,但不会删除旧内容

我正在 Digital Ocean Ubuntu VM 上运行一个独立的 varnish 实例,它基本上运行良好.该设置用于加载位于其他任何地方的旧 wordpress 服务器.这很有效,但我很难清除内容.在谈论清除时,我的意思是使 URL 的缓存无效以强制清漆从后端获取新版本(只是为了确保我看到了对清除/禁止的一些刺激). 我已经设置了一个用于清除的 ACL,就我在 varnishlog ..
发布时间:2021-09-16 19:02:31 其他开发

清漆击中传球意味着什么?

因为 Varnish 版本 3 有一些用于不同操作的对象. 例如,当必须从后端检索数据时使用 pass.当它在缓存中找到请求内容时使用命中. 但我无法理解hit-for-pass的用法.清漆什么时候用?我还没有在网上找到任何有用的材料让我清楚. 解决方案 创建一个 hit_for_pass 对象来优化针对后端服务器的获取过程. 对于普通缓存未命中,Varnish 会将请求 ..
发布时间:2021-09-16 19:02:25 其他开发

在“探测"之前,在 Varnish 4 中的错误获取之后传送陈旧的内容标记服务器不健康

我正在使用 stale-if-error 来传送陈旧的内容,而服务器在查看 grace 和 keep 对象选项时被标记为不健康在 vcl_hit 中. 问题是:进入vcl子程序vcl_backend_error后是否可以传递缓存对象(新鲜请求错误).实际上,我在 vcl_hit 处提供了缓存对象,但查看下图,我看不到如何访问该请求的缓存对象. 来源:https://www.varnis ..
发布时间:2021-09-16 19:02:20 其他开发

在 Varnish 4 中重试期间更改后端

我希望能够在 Varnish 4 中重试时更改后端.我们已经在使用 Varnish 3 的不同(较旧)应用程序上进行了这项工作,但我一直无法弄清楚v4,也没找到太多文档.我们想要的设置是有 2 组控制器 - 一组用于初始请求尝试在同一数据中心作为 varnish 的本地服务器,因为这样更快,然后只有当失败时,从不同的控制器随机选择其他服务器数据中心. 在 v3 中,这很容易: sub vc ..
发布时间:2021-09-16 19:02:17 其他开发

清漆客户端 IP 未登录 Apache 日志

我已经用 Apache 配置了 Varnish 3,它运行得非常好.但是,我无法将客户端 ip 登录到 Apache 日志中.我尝试了一些解决方案,但没有运气.现在我的 Apache 访问日志文件记录的是服务器 IP 而不是客户端 IP 地址. 以下是我的配置供您考虑: Varnish VCL: (/etc/varnish/default.vlc): http://pastebin.c ..
发布时间:2021-09-16 19:02:14 其他开发

如何在清漆中调试 VCL?

如何在 VCL 中打印日志? 我可以在屏幕上打印日志信息吗? 我可以这样做吗? sub vcl_recv {....log.info(req.http.host);//我可以在这里写日志吗?....} 解决方案 您可以看到带有请求 URL 的 URL varnishlog 实用程序(它能够写入日志文件) varnishlog -i RxURL 或者使用 vmod std 和 ..
发布时间:2021-09-16 19:02:11 其他开发

添加了清漆禁令,但返回了旧对象

我在图块服务器前使用清漆来缓存mapbox图块.为了删除旧的磁贴​​,我打算使用禁令来有效地删除大量缓存的磁贴.我的问题是,清漆仍然使用缓存的对象(至少响应中的 age 表明了这一点),并且不与后端联系. 我首先请求http://varnish/5/3/4.pbf,然后使用 curl -X BAN -H'X-Purge-Regex添加一个禁令:5/3/4.pbf'varnish 或 varn ..
发布时间:2021-05-31 20:00:41 其他开发

用清漆和正则表达式替换页面中的内容

如果我想让我的清漆缓存服务器在服务或存储页面(vcl_fetch?)之前从后端替换页面内的内容(即:更改div上的类),该怎么做? 我想使用简单的正则表达式来执行替换,因为我想它是清漆本身支持的。 解决方案 Varnish本身不支持修改响应正文。为此,您需要一个清漆模块(vmod)。 Aivars Kalvans具有 libvmod-rewrite ,它完全可以满足您的需求。但 ..
发布时间:2020-09-28 06:20:13 其他开发