问题标签 [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.
amazon-ec2 - Varnish 在 EC2 上不断崩溃
我已经在 EC2 上安装了 Magneto 2,并在 RDS 实例上单独托管了一个 MySQL 数据库。我已经在我的 EC2 服务器上配置了清漆。
每当我在网站上打开多个选项卡时,清漆服务器都会在几个产品页面上崩溃,并出现以下错误:
错误 503 后端提取失败”
清漆版本:Centos 6 上的 4.0.4
varnish - 让清漆代理而不是重定向
我想使用 Varnish 作为“智能”代理,它几乎可以工作。这个想法是一些请求应该通过 Varnish 传递,打到后端并返回,所有其他请求应该返回一个特定响应不包含结果的“synt”消息。
除了 Varnish 将 301 重定向返回到后端而不仅仅是来自实际后端的响应这一事实之外,这也是有效的。
后端和缓存不在同一主机上(在这种情况下甚至不在同一网络上)。
后端也在运行一个单独的 Varnish 实例,并且这个请求总是通过它传递。
卷曲的输出:
后端apache访问日志
将请求从 AWS 实例发送到后端不会呈现 301 重定向:
单个请求的完整 varnishlog 输出
在 AWS Amazon Linux 上运行的 Varnish 4.0.4。
magento - magento ssl + 清漆
我想在我的magento商店上使用带有清漆的SSL,使用nginx我做了一个代理传递到端口80(清漆听它)。
但是当我这样做时,ESI 块返回 404。如果我绕过清漆(将代理端口更改为 8080 用于 nginx)它可以工作。
清漆配置:
Nginx 配置:
php - Varnish 4 -> 如何使用 Curl 将内容加载到 Varnish
我有 8 台服务器缓存来自 API 的内容,问题是让它们保持同步。
所以我想知道我们可以通过 curl http PURGE 以同样的方式调用每个缓存服务器并使其缓存特定的 url 吗?
我尝试同时使用 curl 和使用邮递员进行测试,但似乎将其视为不同的请求。
非常感谢所有帮助!
varnish - Varnish 列出缓存中的所有 URL
我正在寻找一种方法来遍历整个缓存并获取对象 URL 的列表 - 当前在存储中。
有没有我遗漏的清漆命令。或者是否有人有一个很好的起点来从 vmod 中迭代对象?
问候
varnish - Varnish 4 ESI:bereq.url 不读取 ESI src 标签内的 url
我使用清漆 4、php-fpm 7、nginx、centos 7
我的清漆参数:
我的默认.vcl:
我的问题是当我使用通过访问触发的 vcl 代码时说:http://localhost/lab/varnish
哪个渲染:
Varnish 没有读取 ESI 标签内的 url src,所以它只是渲染一个空的 body。
但是当我使用这段代码时:
Varnish 成功渲染了 ESI 标签内的内容,该标签由: http://localhost/lab/esi/body生成
如何使 Varnish 基于识别 ESI“src”标签中的内容来触发 ESI 片段渲染?
我已经尝试设置 Surrogate-Capability 并使用 Surrogate-Control 检查,对我来说它也不起作用。我没头绪了。。
varnish - 当我尝试使用 std.syslog 时,Varnish 基本配置文件抛出“VCL 编译失败”。为什么?
我有一个简单的 VCL 文件如下:
当我尝试varnishd
在我的 Mac 上使用此配置开始时,我收到以下错误:
我尝试了这条线的不同变体:
如:
但它们都不起作用。
如何从我的 VCL 文件中进行简单的日志记录?
谢谢。
更新: std.log("hello")
似乎可以编译...但是,我需要记录有关请求对象的信息,并且req
,request
等不存在。
varnish - Varnish VCL - 我如何检查 req.backend_hint?
我有以下 VCL 文件:
这个概念是我想在将用户随机分配到后端后重新编写 req.url 。
因此,当新用户到达时,他们将被随机分配到后端。然后,我将添加一些带有 if 语句的逻辑,以一种方式重写 URL 路径,如果它们被分配给支持的路径,另一种方式,如果它们被分配给后端 2。
我的问题是在线路之后
我无法弄清楚用户被分配到哪个后端。换句话说,我不知道如何检查 req.backend_hint。
我试着用
标准日志(req.backend_hint.host);
但这会引发编译错误(不是 STRING_LIST)。
我上面的例子改编自这里:http ://book.varnish-software.com/4.0/chapters/Saving_a_Request.html
所以,我的问题是:如何检查 req.backend_hint?
varnish - Varnish VCL:如何打开 req.backend_hint?
我有以下 VCL:
当我运行它时,输出总是:
如何正确检查已选择哪个后端?
谢谢
varnish - 将 Varnish VCL 从 3 转换为 5.1.2 版本
我有这个 Varnish 默认 VCL,它可以在 3.x 版本中正常工作。但是,现在是升级的时候了。我们如何将 varnish vcl 以下升级到最新版本 5.1.2,任何人都可以提供帮助,它也可以帮助许多其他人。