varnish相关内容

Varnish 中的 HTTP 方法 PURGE 是幂等的吗?

HTTP 动词 PURGE 是幂等的吗?如果我两次发送相同的 PURGE 请求,我第二次会收到 200 吗? 我有一个微服务,它在将消息发布到兔子队列之前使 Varnish 缓存无效.如果清除失败,我们只需要记录并继续执行. 队列消费者必须从 Varnish 缓存中获取资源的最新状态.如果第一个微服务的第一次清除成功,来自第二个微服务的新清除请求(在实际从 varnish 请求资源之前 ..
发布时间:2022-01-11 17:07:17 其他开发

清漆:仅缓存特定域

我一直在积极地谷歌搜索,但没有运气. 我使用 Varnish 效果很好,但我想在单个服务器 (Apache) 上托管多个网站,而无需 Varnish 缓存所有网站. 我可以通过 URL 指定要缓存的网站吗? 谢谢 解决方案 (edited after comment) 这是 req.http.host,所以在你的 vcl 文件(例如 default.vcl)中: sub ..
发布时间:2022-01-04 14:32:55 服务器开发

使用 Varnish 配置多个站点

我们有一个服务器需要通过清漆为多个域提供服务,例如example1.com、example2.com 和 example3.com 我们当前的 .vcl 文件如下所示: sub vcl_recv {设置 req.http.Host = "example1.com";抬头;} 如何为正确的传入请求设置正确的 req.http.Host? 解决方案 您可以通过这种方式支持多个前端域: ..
发布时间:2021-12-20 11:41:14 其他开发

让清漆在 Magento 上工作

首先请原谅我对Varnish完全缺乏了解.这是我第一次使用 Varnish 做任何事情. 我正在关注以下示例:http://www.kalenyuk.com.ua/magento-performance-optimization-with-varnish-cache-47.html 但是,当我安装并运行它时,Varnish 似乎没有缓存.我确实得到了带有单个数字的 X-Varnish ..
发布时间:2021-12-19 08:50:55 PHP

清漆 + nginx + ELB 499 响应

我将 varnish 4 服务器与 nginx 一起用作连接到 ELB 的反向代理. 每 2 天左右我的服务器停止响应,我在 nginx access.log 中看到 499 个响应 重启nginx即可解决问题. 为什么我开始收到这 499 条回复? 为什么重启nginx解决问题? 解决方案 我在了解两个事实后解决了我的问题: 1) ELB 实例具有动态 DN ..
发布时间:2021-11-27 10:03:03 其他开发

缓存 GET 调用的 RESTful API 结果的最佳方法

我正在考虑在前面创建缓存层或作为对我的 RESTful API(用 Ruby 编写)的 GET 请求的第一层的最佳方法. 并非每个请求都可以缓存,因为即使对于某些 GET 请求,API 也必须验证发出请求的用户/应用程序.这意味着我需要配置可缓存的请求以及每个缓存的答案的有效期.在某些情况下,我需要一个非常短的到期时间,例如15s及以下.即使尚未达到到期日期,我也应该能够让 API 应用程序 ..
发布时间:2021-11-15 00:43:42 其他开发

清漆 4:如果 beresp.status 是一个错误,则提供优雅的对象?

有没有办法在后端响应和交付之间更改交付给客户端的内容? 如果后端返回 4xx 或 5xx 响应(不会被缓存),我正在尝试找出一种方法来继续提供优雅的对象.后端探针命中一个静态页面,只要其上的网络服务器正在运行,它就会保持后端健康,但如果动态页面遇到问题,则会返回错误. 目前,如果探测失败(例如我在后端完全关闭网络服务器),将继续提供优雅的对象.但是如果我只是破坏站点本身,我会看到第一个 ..
发布时间:2021-09-16 19:03:17 其他开发

带有清漆缓存的 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 其他开发

清漆 - 绕过 IP 地址缓存

我们使用的是 Varnish 3.0.3.Varnish 位于负载均衡器的后面. 我们希望绕过特定 IP 地址的 Varnish 缓存.经过研究,我发现了以下内容.不幸的是,它不起作用. acl passem { "7x.xxx.xxx.xxx";}子 vcl_recv {if (!(client.ip ~ passem)) {返回(通过);}} 这出现在varnishlog “6 V ..
发布时间:2021-09-16 19:03:06 其他开发

如何忽略清漆中的大饼干

我想忽略具有大 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 其他开发

清漆:如果我在 hash_data 中有 cookie,则清除

问题: 我无法清除我的页面.很多次之后,我决定找出清除的工作原理并找到! 如您所见,我们使用了一个新操作 - return(purge).这将结束 vcl_recv 的执行并跳转到 vcl_hash.这就像我们处理常规请求一样.当 vcl_hash 调用 return(lookup) varnish 将清除对象,然后调用 vcl_purge.在这里,您可以选择添加任何希望清漆在清除对象 ..
发布时间:2021-09-16 19:02:57 其他开发

如何从 PHP 脚本中禁用清漆缓存?

我发布了一个 PHP 脚本,最近很多人在共享主机帐户上遇到清漆缓存问题. 这是 PHP 脚本顶部的代码.但是我仍然在响应标头中收到“Varnish:HIT"(并且脚本无法正常工作). header('Pragma: no-cache');header('Cache-Control: private, no-cache, no-store, max-age=0, must-revalidat ..
发布时间:2021-09-16 19:02:54 PHP

清漆缓存第一次命中

我在专用服务器上运行 varnish.当我加载一个页面时,它会通过 Apache 传送,在第二次和后续点击时,它会通过 Varnish Cache 传送(即我可以在 X-Varnish 标头中看到两个时间戳). 但是,当我从其他计算机打开同一页面时,它再次从后端 (apache) 首次交付,并在进一步重新加载时来自 Varnish. 如果一个页面已经在 Varnish Cache 中, ..
发布时间:2021-09-16 19:02:48 其他开发

清漆 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 其他开发