我在servername里面配置了
server_name www.b.com www.a.com;
我想处理通过请求www.a.com的域名包,使用lua对www.a.com的包做了规则,结果死活不生效。原因是通过nginx的ngx.var.server_name取到的servername, 无论是www.a.com还是www.b.com的包,得到的servername都是www.b.com。
access, header_filter, body_filter,log这几个阶段的context是适用于http的,但是有坑,开始我以为任何的请求都会经历这4个阶段,所以在里面大胆的使用ngx.ctx,结果发现如果配置了301,或者302,是不会经历acces阶段的,rewrite请求之后直接到了response的header_filter阶段。
lua对于内存的使用是有2g的限制的,开始不知道,结果使用ngx.ctx的时候一时爽,把返回chunk的数据都拼接到ngx.ctx里面,请求不结束,内存不释放,导致内存爆炸。
评论
暂无评论~~