在Varnish中为Android设备选择用户代理

时间:2012-11-15 13:05:35

标签: android browser user-agent varnish

这是我的清漆中的现状。 我的问题是,Android设备的最佳配置是什么?

  

if(req.http.User-Agent~“iPhone”){       set req.http.User-Agent =“Mozilla / 5.0(iPhone; U; CPU iPhone OS 4_3_3,如Mac OS X; en_us)AppleWebKit / 525.18.1(KHTML,与Gecko一样)”;   } else if(req.http.User-Agent~“iPad”){       set req.http.User-Agent =“Mozilla / 5.0(iPad; U; CPU OS 4_3_2,如Mac OS X; en-us)AppleWebKit / 533.17.9(KHTML,与Gecko一样)   版本/ 5.0.2移动/ 8H7 Safari / 6533.18.5“;}否则如果   (req.http.User-Agent~“Android”){       //我们现在没有为Android设备做任何事情       //太多不同的了。       //       //我们可以缓存两个版本,一个是移动版,一个是每个版本一个       // Android 2.0-2.4,但是,我们试着让它保持现状       //查看缓存有多大。 } else {       set req.http.User-Agent =“Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; VOSA 1.0)”; }}

2 个答案:

答案 0 :(得分:3)

有一个很好的devicedetect.vcl由Varnish软件自己编写。它比使用起来更容易,并提供更多的设备类型。它还具有良好的Android检测功能,可以同时分离平板电脑和手机。您可以在以下位置找到有关如何使用它的来源和良好文档:

https://github.com/varnish/varnish-devicedetect

自己使用它并且只有很好的匹配经验。

答案 1 :(得分:0)

@clarence建议使用varnish-devicedetect是一个很好的建议。像我这样喜欢简单设置和详细解释的新手。在atomic object上试用本教程。

非常简单,直接,只需要在配置文件中添加一些vcl规则