美文网首页每周500字
NGINX 各个HTTP阶段的checker函数

NGINX 各个HTTP阶段的checker函数

作者: 抟九 | 来源:发表于2019-12-09 23:42 被阅读0次

NGX_HTTP_POST_READ_PHASE 阶段

checker函数为ngx_http_core_generic_phase
ngx_http_core_generic_phases调用的ngx_http_handler_pt方法,有如下返回值,及返回值的影响:

返回值 意义
NGX_OK 执行下一个ngx_http_phases阶段中的第一个ngx_http_handler_pt处理方法,如果下个阶段没设置,则找下下个阶段
NGX_DECLINED 按照顺序执行下一个ngx_http_handler_pt方法
NGX_AGAIN 当前的ngx_http_handler_pt尚未结束,后面有机会继续被调用,暂时归还控制权
NGX_DONE 当前的ngx_http_handler_pt尚未结束,后面有机会继续被调用,暂时归还控制权
NGX_ERROR 需要调动ngx_http_finalize_request结束请求
其他 需要调动ngx_http_finalize_request结束请求

NGX_HTTP_SERVER_REWRITE_PHASE阶段

checker函数是 ngx_http_core_reweite_phase
ngx_http_core_reweite_phase调用的ngx_http_handler_pt方法,有如下返回值,及返回值的影响:

返回值 意义
NGX_DECLINED 按照顺序执行下一个ngx_http_handler_pt方法
NGX_DONE 当前的ngx_http_handler_pt尚未结束,后面有机会继续被调用,暂时归还控制权
NGX_AGAIN 需要调动ngx_http_finalize_request结束请求
NGX_ERROR 需要调动ngx_http_finalize_request结束请求
其他 需要调动ngx_http_finalize_request结束请求

NGX_HTTP_FIND_CONFIG_PHASE阶段

不能往该阶段添加函数,该阶段使用ngx_http_core_find_config_phase寻找location

NGX_HTTP_REWRITE_PHASE阶段

checker函数是ngx_http_core_rewrite_phase,与NGX_HTTP_SERVER_REWRITE_PHASE阶段通,详情见上面

NGX_HTTP_POST_REWRITE_PHASE阶段

不能往该阶段加函数,checker方法ngx_http_core_post_rewrite_phase

NGX_HTTP_PREACCESS_PHASE阶段

不能往该阶段加函数,checker方法ngx_http_core_generic_phase

NGX_HTTP_ACCESS_PHASE阶段

checker函数是ngx_http_core_access_phase
ngx_http_core_access_phase调用的ngx_http_handler_pt方法,有如下返回值,及返回值的影响:

返回值 意义
NGX_OK 如果配置的是statisfy all,则执行下一个ngx_http_handler_pt,如果配置的是statisfy any,则执行下个阶段的ngx_http_handler_pt
NGX_DECLINED 按照顺序执行下一个ngx_http_handler_pt方法
NGX_AGAIN 当前的ngx_http_handler_pt尚未结束,后面有机会继续被调用,暂时归还控制权
NGX_DONE 当前的ngx_http_handler_pt尚未结束,后面有机会继续被调用,暂时归还控制权
NGX_FORBIDDEN 如果配置的是statisfy all,jiang ngx_http_request_t中的access_code当返回值,执行下一个ngx_http_handler_pt,如果配置的是statisfy any,执行下个阶段的ngx_http_handler_pt
NGX_HTTP_UNAUTHORIZED 如果配置的是statisfy all,jiang ngx_http_request_t中的access_code当返回值,执行下一个ngx_http_handler_pt,如果配置的是statisfy any,执行下个阶段的ngx_http_handler_pt
NGX_ERROR 需要调动ngx_http_finalize_request结束请求
其他 需要调动ngx_http_finalize_request结束请求

NGX_HTTP_POST_ACCESS_PHASE阶段

不允许添加函数,checker函数是ngx_http_core_post_access_phase

NGX_HTTP_TRY_FILES_PHASE 阶段

不允许添加函数,checker函数是ngx_http_core_try_files_phase

NGX_HTTP_CONTENT_PHASE 函数

后面说

NGX_HTTP_LOG_PHASE阶段

checker函数是ngx_http_core_generic_phase

相关文章

网友评论

    本文标题:NGINX 各个HTTP阶段的checker函数

    本文链接:https://www.haomeiwen.com/subject/byzigctx.html