一聚教程网:一个值得你收藏的教程网站

热门教程

Nginx通过判断User Agent进行相关操作例子

时间:2022-06-30 18:46:45 编辑:袖梨 来源:一聚教程网

本文介绍了Nginx通过判断User Agent进行相关操作例子,有兴趣的同学快来看看吧。

例子

是否手机浏览器

location = / {
root /var/www/path;
if ($http_user_agent ~* "Nokia") { rewrite . /index.html break; }
if ($http_user_agent ~* "Mobile") { rewrite . /index.html break; }
if ($http_user_agent ~* "SAMSUNG") { rewrite . /index.html break; } }
if ($http_user_agent ~* "SonyEricsson") { rewrite . /index.html break; }
if ($http_user_agent ~* "MOT") { rewrite . /index.html break; } }
if ($http_user_agent ~* "BlackBerry") { rewrite . /index.html break; }
if ($http_user_agent ~* "LG") { rewrite . /index.html break; } }
if ($http_user_agent ~* "HTC") { rewrite . /index.html break; }
if ($http_user_agent ~* "J2ME") { rewrite . /index.html break; }
if ($http_user_agent ~* "Opera Mini") { rewrite . /index.html break; } }
index index.html;
}

1.set $ismob 0;
2.if ( $http_user_agent ~ "^((.*MIDP.*)|(.*WAP.*)|(.*UP.Browser.*)|(.*Smartphone.*)|(.*Obigo.*)|(.*Mobile.*)|(.*AU.Browser.*)|(.*wxd.Mms.*)|(.*WxdB.Browser.*)|(.*CLDC.*)|(.*UP.Link.*)|(.*KM.Browser.*)|(.*UCWEB.*)|(.*SEMC-Browser.*)|(.*Mini.*)|(.*Symbian.*)|(.*Palm.*)|(.*Nokia.*)|(.*Panasonic.*)|(.*MOT-.*)|(.*SonyEricsson.*)|(.*NEC-.*)|(.*Alcatel.*)|(.*Ericsson.*)|(.*BENQ.*)|(.*BenQ.*)|(.*Amoisonic.*)|(.*Amoi-.*)|(.*Capitel.*)|(.*PHILIPS.*)|(.*SAMSUNG.*)|(.*Lenovo.*)|(.*Mitsu.*)|(.*Motorola.*)|(.*SHARP.*)|(.*WAPPER.*)|(.*LG-.*)|(.*LG/.*)|(.*EG900.*)|(.*CECT.*)|(.*Compal.*)|(.*kejian.*)|(.*Bird.*)|(.*BIRD.*)|(.*G900/V1.0.*)|(.*Arima.*)|(.*CTL.*)|(.*TDG.*)|(.*Daxian.*)|(.*DAXIAN.*)|(.*DBTEL.*)|(.*Eastcom.*)|(.*EASTCOM.*)|(.*PANTECH.*)|(.*Dopod.*)|(.*Haier.*)|(.*HAIER.*)|(.*KONKA.*)|(.*KEJIAN.*)|(.*LENOVO.*)|(.*Soutec.*)|(.*SOUTEC.*)|(.*SAGEM.*)|(.*SEC-.*)|(.*SED-.*)|(.*EMOL-.*)|(.*INNO55.*)|(.*ZTE.*)|(.*iPhone.*)|(.*Android.*)|(.*Windows CE.*)|(Wget.*)|(java.*)|(curl.*)|(Opera.*))$" )
3.{
4.set $ismob 1;
5.proxy_pass http://www.111com.net; 6.}
7.if ( $http_user_agent ~ ^$ )
8.{
9.set $ismob 1;
10.proxy_pass http://www.111com.net; 11.}
12.if ( $ismob = 0 )
13.{
14.rewrite "^.*$" http://www.111com.net/ permanent; 15.}

例子

通过判断User Agent过滤YisouSpider

找到根目录配置区,增加User Agent过滤判断语句,发现叫"YisouSpider"的直接返回403

注1:如果需要增加多个过滤,这样做 ($http_user_agent ~* "Spider1|Spider2|Spider3|Spider4"),中间用|隔开就行了

注2:如果你是用的是子目录博客,像我的一样,那么要找到 "location /blog/" 这样的区段去修改

location / {
......其它配置
if ($http_user_agent ~* "YisouSpider") {
return 403;
}
}

配置完成wq保存后reload一下nginx,然后使用以下命令自我测试,地址自己改。没装curl的我就没办法了,自己apt或者yum装一个吧,神器来的。

curl -I -A "YisouSpider" www.111com.net

看到返回403就可以了,说明配置成功

2014-02-19_110300

热门栏目