[PATCH] limit_req_status: allow status response to be as low as 200
J Carter
jordanc.carter at outlook.com
Thu Jan 12 21:35:59 UTC 2023
It's trivial to do with error page OP as mentioned - an example:
limit_req_status 598;
limit_req_zone $binary_remote_addr zone=a:1m rate=1r/m;
server {
limit_req zone=a nodelay;
error_page 598 = @send-204;
location / {
...
}
...
location @send-204 {
return 204;
}
}
error_page's '=' can also be set to 204, and the named location contain
nothing at all (whatever you prefer).
On 12/01/2023 17:11, Maxim Dounin wrote:
> Hello!
>
> On Thu, Jan 12, 2023 at 05:16:21AM -0800, Christopher Liebman wrote:
>
>> Not with 204.
>> This works quite well with a partner that has an aversion to errors when
>> they run over the limit:
>> limit_req_status 204;
> Indeed, 204 happens to be one of the two 2xx codes which can be
> returned directly, as they are handled in
> ngx_http_finalize_request() to facilitate simpler
> code in the dav module. This is not what your patch enables
> though. For all other codes, except 204 and 201 mentioned above,
> just returning them will simply break things.
>
> As already suggested, proper behaviour for all the codes can be
> easily configured by using the "error_page" directive.
>
> Hope this helps.
>
More information about the nginx-devel
mailing list