nginx截獲客戶端請求

silent發表於2017-01-17

使用nginx可以直接截獲客戶端請求,以下是最近收集的一些判斷截獲的資訊的配置,為檢視方便記錄如下:

 

1、根據UA和cookie判斷當前是移動端還是PC端訪問:

if ($http_host !~ "^www.weidao.com$") {
  rewrite  ^(.*)    http://www.test.com$1 permanent;
 }
 if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
  rewrite  ^(.*)    http://m.test.com$1 permanent;
 }

 

2、根據UA判斷手機的作業系統:

if ($http_user_agent ~* "Android") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "iPhone") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "iPod") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "iPad") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "Windows Phone") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "Mobile") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "Nokia") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "SAMSUNG") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "HTC") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "BlackBerry") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "LG") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "SonyEricsson") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "MOT") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "Opera Mini") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "J2ME") {

        rewrite . http://m.baidu.com/ break; 

   }

   if ($http_user_agent ~* "mqqbrowser") {

        rewrite . http://m.baidu.com/ break; 

   }

 

3、NG直接截獲請求返回JSON:

    location /api/Message/Confirm
    {
    default_type  application/json;
        return 200 '{"Data":true,"Code":1,"Message":null}';
    }

 

相關文章