十九、Nginx 过滤模块的分析
过滤模块的分析 相关结构体 ngx_chain_t 结构非常简单,是一个单向链表: typedef struct ngx_chain_s ngx_chain_t; struct ngx_chain_s { ngx_buf_t *buf; n...
过滤模块的分析 相关结构体 ngx_chain_t 结构非常简单,是一个单向链表: typedef struct ngx_chain_s ngx_chain_t; struct ngx_chain_s { ngx_buf_t *buf; n...
过滤模块简介 执行时间和内容 过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理。它的处理时间在获取回复内容之后,向用户发送响应之前。它的处理过程分为两个阶段,过滤 HTTP 回复的头部和主体,在这两个阶段可以分...
公众号:“皇子谈技术”主理人
更多 handler 模块示例分析 http access module 该模块的代码位于src/http/modules/ngx_http_access_module.c中。该模块的作用是提供对于特定 host 的客户端的访问控制。可以限...
handler 模块的编译和使用 模块的功能开发完了之后,模块的使用还需要编译才能够执行,下面我们来看下模块的编译和使用。 config 文件的编写 对于开发一个模块,我们是需要把这个模块的 C 代码组织到一个目录里,同时需要编写一个 co...
示例: hello handler 模块 在前面已经看到了这个 hello handler module 的部分重要的结构。该模块提供了 2 个配置指令,仅可以出现在 location 指令的作用域中。这两个指令是 hello_string...
handler 的编写步骤 好,到了这里,让我们稍微整理一下思路,回顾一下实现一个 handler 的步骤: 1、 编写模块基本结构包括模块的定义,模块上下文结构,模块的配置结构等; 2、 实现handler的挂载函数根据模块的需求选择正确...
handler 模块的挂载 handler 模块真正的处理函数通过两种方式挂载到处理过程中,一种方式就是按处理阶段挂载;另外一种挂载方式就是按需挂载。 按处理阶段挂载 为了更精细地控制对于客户端请求的处理过程,Nginx 把这个处理过程划分...
handler 模块的基本结构 除了上一节介绍的模块的基本结构以外,handler 模块必须提供一个真正的处理函数,这个函数负责对来自客户端请求的真正处理。这个函数的处理,既可以选择自己直接生成内容,也可以选择拒绝处理,由后续的 handl...
模块的基本结构 在这一节我们将会对通常的模块开发过程中,每个模块所包含的一些常用的部分进行说明。这些部分有些是必须的,有些不是必须的。同时这里所列出的这些东西对于其他类型的模块,例如 filter 模块等也都是相同的。 模块配置结构 基本上...
handler 模块简介 相信大家在看了前一章的模块概述以后,都对 Nginx 的模块有了一个基本的认识。基本上作为第三方开发者最可能开发的就是三种类型的模块,即 handler,filter 和 load-balancer。Handler...