使用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}';
    }

nginx截获客户端请求的更多相关文章

  1. Apache与Nginx对客户端请求的处理机制对比

    Apache与Nginx对客户端请求的处理机制对比 模块 大致为四个模块,核心模块.HTTP模块.邮件模块,以及第三方模块 核心模块主要包含两类功能的支持,一类是主体功能,包括进程管理,权限管理,错误 ...

  2. Nginx控制客户端请求的速率

    使用ngx_http_limit_req_module模块的两个参数 ngx_http_limit_req_module模块用于限制每个IP访问每个定义key的请求速率 1.limit_req_zon ...

  3. JAVA获取客户端请求的当前网络ip地址(附:Nginx反向代理后获取客户端请求的真实IP)

    1. JAVA获取客户端请求的当前网络ip地址: /** * 获取客户端请求的当前网络ip * @param request * @return */ public static String get ...

  4. 控制nginx并发链接数量和客户端请求nginx的速率

    一.控制nginx并发链接数 ngx_http_limit_conn_module这个模块用于限制每个定义的key值的链接数,特别是单IP的链接数. 不是所有的链接数都会被计数,一个符合计数要求的连接 ...

  5. Nginx优化防爬虫 限制http请求方法 CDN网页加速 架构优化 监牢模式 控制并发量以及客户端请求速率

    Nginx防爬虫优化 Robots协议(也称为爬虫协议,机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...

  6. 给nginx添加客户端的请求最大单文件限制

    在nginx.conf中添加如下. client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲 ...

  7. 从Nginx的Web请求处理机制中剖析多进程、多线程、异步IO

    Nginx服务器web请求处理机制 从设计架构来说,Nginx服务器是与众不同的.不同之处一方面体现在它的模块化设计,另一方面,也是最重要的一方面,体现在它对客户端请求的处理机制上. Web服务器和客 ...

  8. nginx log记录请求的头信息

    记录访问的log,为了在出现特殊情况时,方便检查出现问题的地方.log_format accesslog ‘$remote_addr – $remote_user [$time_local] “$re ...

  9. [转载]Nginx如何处理一个请求

    http://nginx.org/cn/docs/http/request_processing.html 对我的扫盲文章 基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一 ...

随机推荐

  1. python列表二

    比如说要交换两个的顺序,用中间变量temp即可,和java的方法一样 >>> mix[1, '小尹', 5, '小虎', 3.5, [1, 2, 2], '葫芦娃', 0, '1', ...

  2. kafka producer生产数据到kafka异常:Got error produce response with correlation id 16 on topic-partition...Error: NETWORK_EXCEPTION

      kafka producer生产数据到kafka异常:Got error produce response with correlation id 16 on topic-partition... ...

  3. java中数组中一些方法的总结

    这个方法可以控制复制原数组的长度,想要复制多少就可以复制多少 这种复制方法不是特别灵活.只能复制整个数组或者对数组从首部开始进行截取.无法灵活的想复制哪里就复制哪里.因此一般用在数组的扩容上. jdk ...

  4. Use LiveCD to acquire images from a VM

    Forensic examiners usually acquire images from suspect's PC or Laptop. What if the target computer i ...

  5. dede织梦栏目页和文章页中获取当前栏目名称方法

    一般情况下,在dede织梦系统中列表页.栏目页和文章页中获取当前所在栏目名称只需要代码:{dede:type}[field:typename]{/dede:type}即可,不需要定义ID,默认的就是当 ...

  6. pjtool用到的数据库----oracle范畴

    PL/SQL Developer 专门面向Oracle数据库存储程序单元的开发 PL/SQL:过程化SQL语言

  7. spring boot项目编译出来的jar包如何更改端口号

    执行的时候更改端口即可 . java -Dserver.port=9999 -jar boot.jar

  8. Django_xadmin_应用外键搜索功能错误

    问题: 当我在给某一张表加上外键搜索的时候,会出现 TypeError: Related Field got invalid lookup: icontains 问题原因: a 表关联 b表,也就是说 ...

  9. python_斐波那契数列

    什么是斐波那契数列? -- 一组第从第三个值开始,每个值都等于前两个值之和的一种有意思的数列 如[1, 1, 2, 3, 5, 8, 13, 21, 34, 55] 如何用程序进行实现? -- 逻辑整 ...

  10. Web应用基础

    B-S架构 架构的发展 1,c/s架构 (client客户端-server服务端)         (胖客户端:要求客户端运行业务:把业务放到服务器端,则是瘦客户端)         典型的c/s应用 ...