我在让最简单的 Varnish Cache ESI 测试工作时遇到问题。
在尝试和尝试之后,我想我在这里问。
基本上它只是不会包含 ESI 文件。它只是返回 HTML 而没有包含它。
这是我的清漆启动命令:
varnishd -f /etc/varnish/default.vcl -s malloc,128M -T 127.0.0.1:2000 -a 0.0.0.0:8080;
这是我正在测试的 URL:
http://vbox.local:8080/varnish-tests/test.php
我的 vcl 规则:
1) 默认.vcl
backend default {
.host = "127.0.0.1";
.port = "80";
}
sub vcl_fetch {
if (req.url ~ "test.php") {
esi; /* Do ESI processing */
set beresp.ttl = 24h;
} elseif (req.url ~ "esi_1.php") {
set beresp.ttl = 1m;
}
return(deliver);
}
我的示例测试 esi 代码
2) 测试.php
<html>
<head>
<?php echo "Time 1: ".time(); ?>
<br />
The time 2 is: <esi:include src="/varnish-tests/esi_1.php"/> at this very moment.
</body>
</html>
esi 的 php 包括
3) esi_1.php
<?php
echo "Time 2: ".time();
?>
我已经尝试了上述 vcl 规则的许多变体。
都行不通。只是看不出我哪里出错了?
非常感谢任何建议/帮助。
谢谢你。