Ngxin实现user-agent 来访问不用页面,非常简单,但是我们一般前端是cache层,那么在缓存层怎么实现的,原理一样的。
今天用Varnish实现,注意我们实现的是302 redirect 而不是rewrite url
实现目标:iphone来访问www.linuxidc.com 会自动跳转到m.linuxidc.com
贴代码
sub vcl_recv {
if (req.http.user-agent ~ "iphone") {
if (req.http.host ~ "www.linuxidc.com") {
error 750 "m.linuxidc.com";
}
}
}
sub vcl_error {
if (obj.status == 750) {
if (obj.response ~ "m.linuxidc.com") {
set obj.http.Location = "http://m.linuxidc.com/";
}
set obj.status = 302;
return (deliver);
}
}
缓存服务器Varnish概念篇 http://www.linuxidc.com/Linux/2014-05/101389.htm
缓存服务器Varnish概念篇 http://www.linuxidc.com/Linux/2014-05/101389.htm
Varnish Cache 的架构笔记 http://www.linuxidc.com/Linux/2013-10/91016.htm
CentOS 5.8下Varnish-2.1.5的安装配置 http://www.linuxidc.com/Linux/2013-09/89916.htm
RedHat脚本改用CentOS源更新安装Nginx、PHP 5.3、Varnish http://www.linuxidc.com/Linux/2012-07/65801.htm
利用Varnish构建Cache服务器笔记 http://www.linuxidc.com/Linux/2012-07/65234.htm
缓存服务Varnish安装配置 http://www.linuxidc.com/Linux/2012-07/65228.htm
Varnish 编译安装所需准备 http://www.linuxidc.com/Linux/2012-07/65230.htm
Linux下Varnish缓存的配置优化 http://www.linuxidc.com/Linux/2012-03/56435.htm
Varnish 的详细介绍:请点这里
Varnish 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-10/124025.htm