使用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. Spark环境搭建(下)——Spark安装

    1. 下载Spark 1.1 官网下载Spark http://spark.apache.org/downloads.html 打开上述链接,进入到下图,点击红框下载Spark-2.2.0-bin-h ...

  2. init和plus(编码中遇到问题就看这里)

    转自:http://ask.dcloud.net.cn/article/165 编码中遇到问题就看这里: http://uikoo9.com/book/chapterDetail/4 plus初始化原 ...

  3. App Doc View Frame中指针的获取

    // App中获取其它三项指针 void CSDIApp::OnApp() { // App // Doc CDocument *pDoc = ((CFrameWndEx *)m_pMainWnd)- ...

  4. python基础2 day3

    一.上节回顾 1,while else2,格式化输出name = input('>>>')s1 = '我叫%s,今年%d岁'%(name,18)dic1name = input('& ...

  5. 前端通信:SSE设计方案(二)--- 服务器推送技术的实践以及一些应用场景的demo(包括在线及时聊天系统以及线上缓存更新,代码热修复案例)

    距离上一篇博客,这篇文章的发布大概过了整整三个月.我也从饿了么度过了试用期,成为了正式员工.刚进来恰好遇到项目底层改造和迁移,将项目从angular全部迁移到vue上,所以适应这边的节奏和业务的开发任 ...

  6. LAMP LNMP 和 LNMPA

    LAMP指的是:Linux+Apache+MySQL+Perl/PHP/Python LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件: Linux,操作系统:  Apach ...

  7. Linux中ctrl+z 、ctrl+c、 ctrl+d区别

    ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.   ctrl+c是强制中断程序的执行,,进程已经终止.   ct ...

  8. asp.net -mvc框架复习(8)-实现用户登录模型部分的编写

    1.配置文件添加数据库连接字符串(web.config) 2.编写通用数据库访问类 (1)引入命名空间 using System.Configuration; (2) 定义连接字符串 (3)编写完成 ...

  9. PHP获取中英文字符串的首字母

    使用场景:在对地区进行筛选时,我们经常会看到按照英文字母进行筛选定位,起初想着是数据表里存储上地区与首字母关联关系,但是觉得太麻烦,然后就想着根据地区名称来获取首字母,然后对地区进行分组,由此便用到了 ...

  10. windows7 设定开关机事件

    动记录开关机的技能你知道吗? 下面跟我来设定一下记录电脑的开关机时间吧,工作常常会用到的. 在""我的电脑"右击=>管理=>系统工具=>时间查看器=&g ...