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 <[email protected]> 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
> [email protected]
> http://mailman.nginx.org/mailman/listinfo/nginx
_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to