我有很多网站,并希望从Google获得有关caching服务的所有页面的分析。
有没有可能将JavaScript或HTML添加到由caching服务的每个页面的底部?
For example swap </body> with <analytics code></body>
你可以使用apache的mod_ext_filter :
ExtFilterDefine fixtext mode=output intype=text/html cmd="/bin/sed s/</body>/<analytics code></body>/" <Location /> # core directive to cause the fixtext filter to # be run on output SetOutputFilter fixtext </Location>
对于清漆,你有ESI。 请参阅: 边缘包括更多细节。
简短的答案是你不能。 清漆只允许您编辑出站标题,而不是出站响应的内容。 它确实允许你将C代码添加到vcl文件中,所以你可能能够一起破解一些东西,但不是为它devise的。
否则,我会build议Mircea的select; 要么使用ESI,要么修改Apache或任何你使用的web服务器注入代码。
以防万一,因为您的问题没有说清楚,您不需要获得Varnish添加Analytics监控代码,以便监控网站,只是该代码在页面上。 分析代码都可以在客户端运行,直接从访问者的浏览器拨打电话。
确保configurationvarnish忽略分析cookies – 你的后端web服务器不需要他们,离开他们将杀死你的命中率:)
在发送给客户端之前,我已经编写了一个VMOD来修改varnish中的响应主体。 使用它需要您自担风险https://github.com/aivarsk/libvmod-rewrite