一,官方使用文档
官方使用文档路径:http://nginx.org/en/docs/http/ngx_http_map_module.html
#使用格式$http_user_agent请求头参数值,agent变量名 map $http_user_agent $agent{ default 0; "~Opera Mini" 1; "Chrom.*" 2; "\Firefox" 3; } #相关符号作用介绍 ~:表示区分大小写匹配 ~*:表示不区分大小写匹配 *:通配符匹配 \:表示精确匹配字符串 如果都没有匹配到,则返回定义的default value;
二,使用案例介绍
需求背景:架构流程(client web -> haproxy->nginx->tomcat),需要nginx在打印日志时,过滤掉haproxy的链路检测访问日志,防止记录一些无用的日志,导致磁盘空间的浪费。
配置如下:
#nginx.conf配置如下 http { #使用log_format命令,定义日志输出的格式,变量名为 logFormat log_format logFormat '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #使用map命令,定义满足过滤条件的变量loggable map $request $loggable { default 1; "~GET /.+/monitor\.html HTTP/.+" 0; } server { listen 80; server_name localhost; #综合使用上述定义的变量 access_log logs/nginx.access.log logFormat if=$loggable; error_log logs/nginx.error.log logFormat; } }
相关推荐
ngx_http_proxy_connect_module是一个针对Nginx服务器的第三方模块,主要功能是支持HTTP代理的"CONNECT"方法。在默认情况下,Nginx仅处理HTTP和HTTPS请求,但不支持通过HTTP代理进行TCP连接,比如SSL/TLS隧道。这个...
【Nginx 限制连接数 ngx_http_limit_conn_module 模块详解】 在互联网服务中,服务器经常面临流量异常、负载过大的情况,尤其在遭受大流量恶意攻击时,带宽的浪费、服务器压力的增大都会对业务造成严重影响。为了...
ngx_http_dav_ext_module.so centos7 nginx 1.18 可以作为模块加载
使用nginx作为http/https正向代理ipm包,包含ngx_http_proxy_connect_module 模块,附带了第三方图片代理配置,带有缓存,可直接做图片服务器 下载后执行:rpm -ivh nginx-1.12.2-1.el7_4.ngx.x86_64.rpm 打包教程:...
NGX_STREAM_SSL_PREREAD_MODULE 模块在 nginx-1.14 中自带,nginx-1.10.2 中没有该模块。最新版的该模块可直接用 nginx-1.16 中直接替换。编译时候需要打开 --with-stream 和 --with-stream_ssl_preread_module 选项...
用于nginx的http正向代理https使用的模块
nginx自带是没有针对负载均衡后端节点的健康检查的,但是可以通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的相关指令来完成当后端节点出现故障时,自动切换到健康节点来提供访问。
ngx_req_status用来展示nginx请求状态信息,类似于apache的status,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各url域名所消耗的带宽是多少。ngx_req_status提供了这些功能. 1、按...
在Nginx配置文件中,`nginx_upstream_check_module`的使用涉及到一些特定的指令,如`check`、`check_interval`、`check_timeout`等。以下是一个简单的示例: ```nginx http { upstream backend { server backend1...
ngx_lua_module是一款强大的扩展模块,专为Nginx服务器设计,允许在Nginx配置文件中直接嵌入Lua脚本,极大地增强了Nginx的功能和灵活性。这个"ngx_lua_module-windows-1.1.2.0"是该模块的一个Windows版本,适应于...
ngx_devel_kit(通常缩写为 NDK)是一个针对Nginx的模块开发工具集,它为构建自定义Nginx模块提供了便利。在Nginx生态系统中,NDK是一个重要的扩展工具,允许开发者利用C语言直接操作Nginx的内部结构,以实现更高级...
增加了ngx_http_proxy_connect_module模块的,已经编译好的windows exe文件。 可以正向代理https请求。来源地址:https://github.com/dyq94310/nginx-build-msys2/releases 使用方法,放到从官网下的nginx windows...
ngx_realtime_request是nginx用来统计虚拟主机流量的模块, 首先和大家说下这个模块是基于域名的,将会记录这个域名的请求量、发送字节、返回http状态码的数量,特性如下: 1、基于域名记录 2、记录请求数据量 3、...
ngx_http_enhance_mp4_module 该模块是原始 nginx mp4 模块(附带在 nginx 源代码中)的增强版本。 请注意,这是我自己的项目,除了需要ngx_http_mp4_module所有源代码外,它与 nginx 的源代码没有任何关系。 该模块...
带有ngx_http_geoip2_module和GeoIP2数据库的Nginx 1.15.0 这是用于使用ngx_http_geoip2_module编译Nginx 1.15.0并将Nginx安装到服务器中的脚本。 此外,该脚本还有助于下载Maxmind GeoIP2国家/地区数据库的免费版本...
nginx1.20.2
ngx_python 是为 nginx 嵌入 python 脚本的模块。环境- python 2.7.*- nginx-1.6.3 安装```sh git clone https://github.com/rryqszq4/ngx_python.git wget 'http://nginx.org/download/nginx-1.6.3.tar.gz' ...
在本文中,我们将深入探讨如何进行Nginx的模块二次开发,特别关注“ngx_http_mytest_module.zip_nginx_world”这个示例项目。这个压缩包包含了一个基础的Nginx自定义模块,可以视为模块开发的"Hello, World!"级别...
ngx_kafka_module, Nginx Kafka 模块,将日志日志数据发送到 Kafka 群集 Nginx Kafka 模块 Nginx Kafka MODULE 用于接收 HTTP POST 数据并向 Kafka 传递消息。如果使用这里 MODULE 时存在任何问题,请随时向我发送...
1. $ cp ngx_http_captcha_module.c /usr/local/src/nginx-1.14.0/src/http/modules/ 2. cd /usr/local/src/nginx-1.14.0 3. $ vim auto/modules 添加代码 if :; then ngx_module_name=ngx_http_captcha_module ...