N00b - "set" directive is not allowed here

Robert Paprocki rpaprocki at fearnothingproductions.net
Tue Apr 25 19:54:43 UTC 2017


Read the docs please :)

http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#set

Set is allowed is server, location, and if blocks. Not http blocks. 

> On Apr 25, 2017, at 12:41, Joel Parker <joel.parker.gm at gmail.com> wrote:
> 
> I have a set directive inside an http block which I thought was valid but when I run config -t it says the nginx: [emerg] "set" directive is not allowed here.
> 
> 
> http {
> 
>     log_format bodylog '$remote_addr - $remote_user [$time_local] '
>       '"$request" $status $body_bytes_sent '
>       '"$http_referer" "$http_user_agent" $request_time '
>       '<"$request_body" >"$resp_body"';
> 
>      lua_need_request_body on;
> 
>      set $resp_body "";
>      body_filter_by_lua '
>         local resp_body = ngx.arg[1]
>         ngx.ctx.buffered = (ngx.ctx.buffered or "") .. resp_body
>         if ngx.arg[2] then
>            ngx.var.resp_body = ngx.ctx.buffered
>         end
>        ';
> 
> .....
> 
> Joel
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20170425/8cad3665/attachment.html>


More information about the nginx mailing list