Nginx handler 返回值解释

一般而言 handler 返回:

  • NGX_OK : 表示该阶段已经处理完成,需要转入下一个阶段

  • NG_DECLINED : 表示需要转入本阶段的下一个handler继续处理

  • NGX_AGAIN, NGX_DONE : 表示需要等待某个事件发生才能继续处理(比如等待网络IO),此时Nginx为了不阻塞其他请求的处理,必须中断当前请求的执行链,等待事件发生之后继续执行该handler

  • NGX_ERROR:表示发生了错误,需要结束该请求。

checker 函数根据 handler 函数的不同返回值,给上一层的 ngx_http_core_run_phases 函数返回 NGX_AGAIN 或者 NGX_OK,如果期望上一层继续执行后面的 phase 则需要确保 checker 函数不是返回 NGX_OK,不同 checker 函数对 handler 函数的返回值处理还不太一样,开发模块时需要确保相应阶段的 checker 函数对返回值的处理在你的预期之内。

你可能感兴趣的:(nginx,LINUX)