我正在努力让ESI包含在JSON上下文中被替换.
以下工作正常.导致ESI标签被实际内容所取代.
<esi:include src="http://domain.com/esipath/" />
Run Code Online (Sandbox Code Playgroud)
这不起作用.ESI标签未被替换.
{
"test": "<esi:include src="http://domain.com/esipath/" />"
}
Run Code Online (Sandbox Code Playgroud)
我在google上找到了一些资源,并且可能的解决方案似乎设置esi_syntax为0x3,以便varnish跳过检查有效的XML.这似乎不适用于Varnish 4.当我使用运行时参数启动deamon时,我收到以下错误.
Error: Unknown parameter "esi_syntax".
Run Code Online (Sandbox Code Playgroud)
Varnish 4中是否弃用此设置?
任何想法让这个工作?
小智 14
事实上,该参数在varnish4中进行了描述.您需要做的是激活该功能ESI_DISABLE_XML_CHECK.
对我来说,我编辑/etc/default/varnish(基于debian的系统)并添加
-p feature=+esi_disable_xml_check
Run Code Online (Sandbox Code Playgroud)
到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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3448 次 |
| 最近记录: |