nginx限制移动设备或者pc访问
1.备份ngixn
生产一定要备份!
生产一定要备份!
生产一定要备份!
cp conf/nginx.conf conf/nginx.conf.bak.20230707
2.修改nginx配置
在server模块下增加以下代码
#默认给mobile_rewrite设置值do_not_perform
set $mobile_rewrite do_not_perform;
#如果是移动端给mobile_rewrite设置值perform
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)") {
set $mobile_rewrite perform;
}
#判断mobile_rewrite属性的值,不等于perform则是pc端,直接返回403
if ($mobile_rewrite != 'perform'){
return 403;
}
1.nginx的配置文件里if和"("中间有一个空格,如果不写会报错
2.写在server里是整个监听生效,想要生效范围是location的话把这段代码写在location块里就好 ,但是我尝试放在http块里的时候nginx报错了,说不让我在这里用set…
3.判断配置是否有问题
./sbin/nginx -t
4.重启
./sbin/nginx -s reload
5.参考
https://blog.csdn.net/qq_32447301/article/details/84387148