在auth_request之后调用自定义Nginx模块

时间:2019-03-20 11:54:09

标签: nginx auth-request nginx-module

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

1 个答案:

答案 0 :(得分:0)

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

添加模块处理程序时,它会添加到阶段

"dd/MM/yyyy HH:mm:ss:SSS"

在此示例中,我们看到模块已添加到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

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

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