我正在尝试设置 Varnish 以处理本地环境中的 ESI 包含。
我在虚拟机中运行清漆,内容在主机上运行。
我有两个文件“index.html”和“test.html”。它们都存储在 apache 服务器的 docroot 中名为“esi”的文件夹中。
索引.html
<h1>It Works!</h1>
<esi:include src="test.html" />
测试.html
<p>ESI HAS BEEN INCLUDED</p>
Varnish 在虚拟机的 8000 端口上运行。所以我在这里访问它:http: //192.168.56.101 :8000/esi/
在虚拟机上的 /etc/varnish/default.vcl 中,我已将以下配置添加到文件底部:
sub vcl_fetch {
set beresp.do_esi = true; /* Do ESI processing */
set beresp.ttl = 24 h; /* Sets the TTL on the HTML above */
}
考虑到它应该处理所有请求的 ESI(不要关心它是否只是试图让这个东西工作的不好的做法:))
我加载http://192.168.56.101:8000/esi/时的结果是:
<h1>It Works!</h1>
<esi:include src="test.html" />
IE。ESI 显示在标记中,它没有被处理。
我检查了 Varnish 日志,但是那里没有错误,也没有与 ESI 相关的内容。
谁能看到我在这里做错了什么?让我知道是否需要更多信息..谢谢