返回444 行不行?
Hello!可以了解下 ngx.arg 的用法,https://github.com/openresty/lua-nginx-module#toc105。在 body_filter 阶段只要你把 ngx.arg[2] 设置成 true,就能结束往下游发送数据了。
想跳过挥手阶段直接发送 RST,是没有现成的 API 可以用的。 也许你可以写一个 Nginx C 模块,设置给定 socket fd 的 SO_LINGER ,参考 https://github.com/nginx/nginx/blob/master/src/http/ngx_http_request.c#ngx_http_free_request 里面的做法。 在 2018年7月25日 下午5:52,魏海通 <pu...@gmail.com> 写道: > 谢谢,444试了,还是会调用close,这样TCP缓冲区还是会有数据发送出去吧。是有直接RST的做法? > > 在 2018年7月25日星期三 UTC+8上午9:16:00,Hadals Yang写道: >> >> 返回444 行不行? > > -- >
想跳过挥手阶段直接发送 RST,是没有现成的 API 可以用的。 也许你可以写一个 Nginx C 模块,设置给定 socket fd 的 SO_LINGER ,参考 https://github.com/nginx/nginx/blob/master/src/http/ngx_http_request.c#ngx_http_free_request 里面的做法。 在 2018年7月25日 下午5:52,魏海通 <pum...@gmail.com> 写道: > 谢谢,444试了,还是会调用close,这样TCP缓冲区还是会有数据发送出去吧。是有直接RST的做法? > > 在 2018年7月25日星期三 UTC+8上午9:16:00,Hadals Yang写道: >> >> 返回444 行不行? > > -- >
在body_filter 阶段判断速度,如果低于配置的阈值就结束链接:return ngx.ERROR但是用这种方法断开时,还会继续发送队列里面的数据,请问如何才能丢掉发送缓存区的数据,尽早结束链接?
了解下 http://nginx.org/en/docs/http/ngx_http_core_module.html#reset_timedout_connection On Tuesday, July 24, 2018 at 5:09:13 PM UTC+8, 魏海通 wrote:在body_filter 阶段判断速度,如果低于配置的阈值就结束链接:return ngx.ERROR但是用这种方法断开时,还会继续发送队列里面的数据,请问如何才能丢掉发送缓存区的数据,尽早结束链接?
多谢,这个参数是全局的,如果客户是HTTP1.0 或者 服务器端主动关闭,在一定程度是丢掉了应该传输的数据。我们的想法是做成请求级别的。在 2018年7月27日星期五 UTC+8下午10:14:04,Jianqiang Wang写道:了解下 http://nginx.org/en/docs/http/ngx_http_core_module.html#reset_timedout_connection On Tuesday, July 24, 2018 at 5:09:13 PM UTC+8, 魏海通 wrote:在body_filter 阶段判断速度,如果低于配置的阈值就结束链接:return ngx.ERROR但是用这种方法断开时,还会继续发送队列里面的数据,请问如何才能丢掉发送缓存区的数据,尽早结束链接?