首页 > 系统相关 >nginx 根据useragent 标识特征过滤流量

nginx 根据useragent 标识特征过滤流量

时间:2024-03-06 10:02:01浏览次数:30  
标签:http nginx Agent 标识 user agent allowed useragent User

配置文件如下:

http {
    map $http_user_agent $is_allowed_user_agent {
        default 0;
        "~*Chrome/101.0.4951.64" 1;
    }

    server {
        listen 9999;
        server_name your_domain.com;

        location / {
            if ($is_allowed_user_agent = 0) {
                return 403;
            }
            # 允许指定 User-Agent 访问的配置
        }
    }
}
  1. http 块:在 NGINX 配置文件中,http 块用于配置全局的参数和指令,适用于整个 HTTP 服务器。在这个示例中,我们定义了一个名为 $is_allowed_user_agent 的变量,用于判断请求的 User-Agent 是否符合要求。

  2. map 指令:map 指令用于创建一个变量映射表,将 $http_user_agent 变量(即请求中的 User-Agent 头信息)的值映射到 $is_allowed_user_agent 变量。如果请求的 User-Agent 匹配 Chrome/101.0.4951.64,则将 $is_allowed_user_agent 设置为 1;否则设为 0。

  3. server 块:每个 server 块定义了一个虚拟主机配置。在这个示例中,我们监听端口 9999,并设置了一个虚拟主机,其域名为 your_domain.com

  4. location /:这是一个常见的 NGINX location 块,用于匹配请求的 URI。在这里,我们对所有请求都进行处理。在 location / 块内部,我们使用 if 指令来检查 $is_allowed_user_agent 变量的值。如果值为 0(即 User-Agent 不符合要求),则返回 HTTP 状态码 403 Forbidden,拒绝访问;否则,继续执行后续配置。

  5. # 允许指定 User-Agent 访问的配置:这里可以添加允许特定 User-Agent 访问的配置内容,例如代理到特定的后端服务器、返回特定的响应等。

标签:http,nginx,Agent,标识,user,agent,allowed,useragent,User
From: https://www.cnblogs.com/libruce/p/18055852

相关文章

  • nginx在windows下的使用二
    一、反向代理,多台机器1.需求和目的:nginx代理两台服务器,这两台服务器使用tomcat模拟浏览器访问http://localhost:9001/beijing/index.html,通过nginx,跳转到一个tomcat上(端口8080),浏览器上显示beijing浏览器访问http://localhost:9001/shanghai/index.html,通过nginx,跳转到一个tom......
  • 微信浏览器ua标识
    window.addEventListener("load",function(){if(window.navigator.userAgent.indexOf("WeChat")>-1){//...}});记录一个奇怪的bug:微信浏览器无法加载一个名为integration0_1.js的文件,但是可以通过动态的方式加载://可以通过动态加......
  • ConfigMap挂载与Subpath在Nginx容器中的应用
    本文分享自华为云社区《nginx.conf以configmap文件形式挂载到nginx容器中以及subpath使用场景》,作者:可以交个朋友。背景nginx.conf通过configmap文件形式挂载到容器内,可以更加方便的修改nginx.conf配置方案简介将配置文件nginx.conf以configmap文件的方式挂载到容器中。为了更......
  • Nginx负载均衡配置方法
    首先,确保已经安装了nginx,然后编辑配置文件/etc/nginx/nginx.conf第一步:定义upstream组在配置文件中定义一个upstream组,用于指定一组后端服务器。每个服务器可以通过IP地址和端口号来指定,并且可以为每个服务器设置权重(weight)以表示它们处理请求的能力。upstreambackend_group......
  • Nginx随笔
    Nginx的工作原理Nginx的工作原理主要基于其独特的事件驱动架构和异步非阻塞的I/O模型。其核心由一个master进程和多个worker进程组成,采用事件循环的方式监听并处理各种事件,如网络请求、I/O操作等。这种架构使得Nginx能够轻松应对大量并发连接,同时保持出色的性能。Nginx由内核和......
  • 自已写的shell小程序: 查询删除lua+redis和conf配置的nginx黑名单
    #!/bin/bash#定义一些变量REDIS_HOST=192.168.10.38REDIS_PORT=6370REDIS_AUTH=123456NGINX_BLOCKIPCONF_PATH=/data/software/openresty/nginx/conf.d/block_ip.conf#接收需要查询的IP地址echo-e"查询被www.baiinfo.com屏蔽的IP地址,请输入精确的IP地址(支......
  • nginx在windows下的使用一
    一、nginx常用配置介绍:server块:是什么意思呢?每一个server其实它跟一个虚拟主机有关,虚拟主机就是说从用户的角度来说,一个虚拟主机就是一台独立的机器。有独立的硬件、网络等等。那么每个http块里面有多个server块,意味着一个http块里面有多个独立的虚拟主机。比如这段配置解释:ser......
  • ULID(Universally Unique Lexicographically Sortable Identifier)是一种用于生成全局唯
    ULID(UniversallyUniqueLexicographicallySortableIdentifier)是一种用于生成全局唯一、可按字典序排序的标识符的格式。ULID结合了时间戳和随机数的特性,旨在提供高性能、低碰撞、可排序和易读的标识符。ULID的主要特点包括:全局唯一性:通过结合时间戳和随机数的方式,ULID可以生......
  • NGINX 配置404错误页面跳转指定页面
    主要是记录踩过的一个坑。。。nginx要自定义404和401的页面,但是error_page配置没有生效,没有正常跳转。 error_page404 /404.html;error_page404=http://www.test.com/error.html;http://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_core_module.html#error_......
  • Nginx 最全使用教学
    Nginx最全使用教学Nginx是一款高性能的HTTP和反向代理服务器,也是世界上最受欢迎的Web服务器之一。它以其高效、稳定、可扩展的特点而闻名。这份教学将涵盖Nginx的所有核心功能和配置,帮助您从零开始学习Nginx的使用。Nginx简介1.1.Nginx的功能Nginx具有以下主......