非常に単純な 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) test.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 ルールのさまざまなバリエーションを試しました。
すべてが機能しません。どこが間違っているのかわかりませんか?
アドバイス/ヘルプをいただければ幸いです。
ありがとうございました。