I’m facing a little issue with country bans over GeoIP. I’m using the
following code within my server directive:
if ($geoip_country_code ~ (BR|CN|KR|RU) ) {
return 123;
}
123 returns an error page informing the visitor that his country is
blocked.
Now let’s say I’ve got some visitors from russia, who should still be
able
to access my website. How would I archive this? Of course something like
“allow 1.2.3.4;” doesn’t work with the code above. Any suggestions?
map $geoip_country_code $blocked_country {
default 1;
A2 0; # Satellite Provider
O1 0; # Other Country
AD 1; # Andorra
AP 1; # Asia/Pacific Region
AQ 1; # Antarctica
}
thanks for your reply! Your solution does indeed make sense and I’ve
been
using something similar before. Just thought there might be something
that
wouldn’t require rewriting my current syntax, such as:
if ($geoip_country_code ~ (BR|CN|KR|RU) ) {
if ($remote_addr = (1.2.3.4|1.2.3.5|1.2.3.6) ) {
break;
}
return 123;
}