cookie and source IP logic in server block
sfrazer
nginx-forum at nginx.us
Mon Oct 14 22:16:14 UTC 2013
Hello,
I'm trying to block certain IP ranges at my nginx server, but would like to
offer the ability to bypass the block by completing a back-end CAPTCHA,
which would set a cookie.
Currently I set the block like so:
geo $remote_addr $blocked {
default 0;
include /etc/nginx/conf/nginx-blocked-ips.conf;
}
...
recursive_error_pages on;
error_page 429 = @banned;
if ($blocked = 1) {
return 429;
}
location @banned {
set $args "";
rewrite ^ /banned/ ;
}
Since I can't nest "if" statements and I can't make a compound check using
"&&" or "||" or something similar, how can I check both the blocked variable
and look to see if a cookie is set?
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,243687,243687#msg-243687
More information about the nginx
mailing list