开发filter模块时,发现死活挂接不上,挂接方法如下:
//将ngx_http_top_header_filter保存为下一个filter模块的处理函数
ngx_http_next_header_filter = ngx_http_top_header_filter;
//将ngx_http_top_header_filter赋值为当前filter模块的处理函数
ngx_http_top_header_filter = ngx_http_xxxx_filter;
测试发现,ngx_http_top_header_filter地址为0,一直以为是我的写法有问题,瞎搞了好久,原来是config配置问题。
filter模块config格式如下:
ngx_addon_name=ngx_http_xxxx_filter_module
HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES ngx_http_xxxx_filter_module"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_xxxx_filter_module.c"