Limit request + whitelist = not using response code from backend? 0.8.54

Maxim Dounin mdounin at mdounin.ru
Tue Feb 19 13:18:12 UTC 2013


Hello!
On Tue, Feb 19, 2013 at 02:05:46PM +0100, DreamWerx wrote:
> Hi all,
>> I'm hoping someone can help me with a small issue. I'm trying to
> implement rate limiting with a whitelist, and all in all it seems to
> be working, but
> the wrong response code is being sent back to the browser.
>> For example if the apache backend sends a 302 redirect response, nginx
> still sends a 200 back? If I remove the mapping to code 200, it then
> sends a 418 back.
> Is there an easy fix for this?

Yes,
- error_page 418 =200 @limitclient;
+ error_page 418 = @limitclient;
See http://nginx.org/r/error_page.
Alternatively, you may want to use something like
 geo $limited { ... }
 map $limited $address {
 1 $binary_remote_address;
 0 "";
 }
 limit_req_zone $address zone=...;
to implement a whitelist (i.e., make sure the variable used in 
limit_req_zone is empty if you don't want the limit).
-- 
Maxim Dounin
http://nginx.com/support.html


More information about the nginx mailing list

AltStyle によって変換されたページ (->オリジナル) /