Nginx配置网页只能指定浏览器访问,项目需求,网页只能在微信内置浏览器打开,非内置浏览器禁止打开。
2种思路:
1、Nginx判断UA只能微信打开,此方式无法避免伪造的UA。
location / {
if ( $http_user_agent !~ "MicroMessenger" ){
return 405;
}
}
2、使用微信内置的JS接口判断是否微信环境。
附:多条件判断指定mobile目录只能微信访问
location / {
set $flag 0;
if ( $uri ~ "/mobile/" ){
set $flag "${flag}1";
}
if ( $http_user_agent !~ "MicroMessenger" ){
set $flag "${flag}1";
}
if ($flag = "011"){
return 405;
}
}