我正在努力让ESI包含在JSON环境中被替换。
以下工作正常。导致ESI标签被实际内容替换。
<esi:include src="http://domain.com/esipath/" />
这不起作用。 ESI标签未被替换。
{
"test": "<esi:include src="http://domain.com/esipath/" />"
}
我在google上找到了一些资源,可能的解决方案似乎是将esi_syntax
设置为0x3以便清除以检查有效的XML。
这似乎不适用于Varnish 4.当我使用运行时参数启动deamon时,我收到以下错误。
Error: Unknown parameter "esi_syntax".
Varnish 4中是否弃用此设置?
有什么想法让这个工作吗?
答案 0 :(得分:14)
确实该参数在varnish4中被删除。您需要做的是激活功能ESI_DISABLE_XML_CHECK
。
对我来说,我编辑/etc/default/varnish
(基于debian的系统)并添加
-p feature=+esi_disable_xml_check
到DEAMON_OPTS
参数,例如:
DAEMON_OPTS="-a :6081 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,4GB \
-p feature=+esi_disable_xml_check"
答案 1 :(得分:2)