我们使用Google PageSpeed模块和Nginx后面清漆。
Pagespeed只在第一次命中时提供了部分优化的页面,我们使用此配置使Pagespeed发送清除请求到Varnish,这样,一旦Pagespeed确实有了完全优化的版本,Varnish就会清除该页面:
pagespeed DownstreamCachePurgeLocationPrefix http://10.128.1.1:6081;
pagespeed DownstreamCachePurgeMethod PURGE;
pagespeed DownstreamCacheRewrittenPercentageThreshold 95;问题是,我们有多个清漆坐在多个分页感受器和清漆引导流量的循环知更鸟。
因此,例如,如果app-05获得了流量,就无法知道哪个清漆代理缓存了该页面。我可以使用什么nginx变量来告诉分页,哪个清漆服务器缓存了第一个部分优化的页面?
发布于 2015-02-06 00:24:35
若要将清除请求发送回更正清漆服务器,请执行以下操作。在清漆方面,我加入了vcl_recv:
set req.http.X-Forwarded-From = server.ip;然后我在Nginx上说:
pagespeed DownstreamCachePurgeLocationPrefix http://$http_x_forwarded_from:6081;我原以为这能行,但似乎不管用。
我知道变量在Nginx中使用Varnish填充(因为我通过一个200个响应响应它),但是出于任何原因,页面似乎不想接受来自这个变量的ip地址。
https://stackoverflow.com/questions/28355890
复制相似问题