Добрый день.
Если следовать рекомендациям из статьи
http://www.riceonfire.org/emiller/nginx-modules-guide.html
при написании filter модуля, то он вставляется в начало списка filter
модулей,
что приводит к его игнорированию, из-за перезаписи ngx_http_top_body_filter
в ngx_http_write_filter_module, который считает себя началом цепочки
фильтров.
*[src/http/ngx_http_write_filter_module.c]*
static ngx_int_t
ngx_http_write_filter_init(ngx_conf_t *cf)
{
ngx_http_top_body_filter = ngx_http_write_filter;
return NGX_OK;
}
*[objs/ngx_modules.c]*
ngx_module_t *ngx_modules[] = {
.....
&ngx_http_addon_filter_module, <= вставка в начало списка!
&ngx_http_write_filter_module,
&ngx_http_header_filter_module,
&ngx_http_chunked_filter_module,
&ngx_http_range_header_filter_module,
&ngx_http_gzip_filter_module,
&ngx_http_postpone_filter_module,
&ngx_http_charset_filter_module,
&ngx_http_ssi_filter_module,
&ngx_http_userid_filter_module,
&ngx_http_headers_filter_module,
&ngx_http_copy_filter_module,
&ngx_http_range_body_filter_module,
&ngx_http_not_modified_filter_module,
<= правильное место
для вставки
NULL
};