auth_request之后调用自定义nginx模块



我有一个自定义的Nginx模块,该模块在将请求定位到服务器之前设置了一些标头要请求。我还使用auth_request进行身份验证。我的位置部分包含auth_request以及自定义模块指令。我想确保仅在Auth子要求之后设置自定义标头,而不是在子要求中设置。目前,我看到自定义模块被称为首先,并且标题已在sub请求本身中设置。

有两种方法可以在nginx中订购模块。

添加模块处理程序时,将其添加到A phase

ngx_http_handler_pt *h = ngx_array_push(&cmcf->phases[NGX_HTTP_CONTENT_PHASE].handlers);
if(h == NULL)
{
    return NGX_ERROR;
}
*h = ngx_dcs_handler;

在此示例中,我们看到该模块被添加到NGX_HTTP_CONTENT_PHASE。我认为auth_request在不同的较早阶段添加?

唯一的另一种方法是按正确的顺序进行重新编译。第一个运行的模块是configure命令行上的最后一个。

configure ... --add-module=C --add-module=B --add-module=A

在这种情况下,模块A首先运行,然后是B,最后C。

我不太确定是否可以轻松地重新排序核心模块。

相关内容

  • 没有找到相关文章

最新更新