私はワニス4、PHP-FPM 7、nginxの使用ESIのsrcタグ内のURLを読んでいないのCentOS 7ワニス4 ESI:bereq.urlは、
マイvarnish.params:
DAEMON_OPTS="-a :80 -T 127.0.0.1:6082
-f /etc/varnish/default.vcl
-S /etc/varnish/secret
-s malloc,1g
-p feature=+esi_disable_xml_check,+esi_ignore_other_elements
-p cli_buffer=16384
-p vcc_allow_inline_c=on"
マイdefault.vcl:私はアクセスすることによってトリガーされるVCLコードは、それを言うことを使用する場合
if (bereq.url ~ "^.*(\/**esi**\/)+.*$") {
set beresp.do_esi = true;
set beresp.ttl = 0s;
} else {
set beresp.ttl = 3600s;
}
私の問題は、次のとおりです。http://localhost/lab/varnish
どのレンダリング:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
</head>
<body>
<esi:include src="http://localhost/lab/esi/body"/>
</body>
</html>
ニスはESIタグ内のURL srcを読んでいないので、それだけで空のボディをレンダリングています。
しかし、私はこのコードを使用する場合:
if (bereq.url ~ "^.*(\/**lab**\/)+.*$") {
set beresp.do_esi = true;
set beresp.ttl = 0s;
} else {
set beresp.ttl = 3600s;
}
ニスが成功することにより製造されるESIタグ内のコンテンツをレンダリングする:ニスをトリガーにする方法 http://localhost/lab/esi/body
ESIフラグメントは、上ベースのレンダリングESIの "src"タグにあるものを認識していますか?
私はSurrogate-Capabilityを設定して、Surrogate-Controlでチェックしてみましたが、それはどちらも機能しません。私は手がかりを使い果たしている..
私は、クライアントに配信するためにすでにキャッシュされたコンテンツを使用し、ESIタグ内のソースからのコンテンツのみをバックエンドに除外します。 –