Any "IP" + "UserAgent" value of 'iOS'
Então, tudo o que você precisa fazer é negar, por padrão, permitir qualquer UserAgent que seja iOS.
IP Subnet 192.168.2.0/24 + "UserAgent" value of 'chrome'
O que você está tentando fazer neste caso, se você criar um composto no Nginx.
O Jrom no GitHub criou um script para fazer isso.
Se criarmos um script usando o Jrom como um exemplo, use alguns para implementar um processo postado por kolbyjack , podemos fazer o que você está procurando.
set $test DENIED;
geo $good_user {
default 0;
192.168.2.0/24 1;
}
if ($http_user_agent ~* (ELB|ios)) {
set $test ALLOWED;
}
if ($good_user) {
set $test DE;
}
if ($http_user_agent ~* (chrome)) {
set $test "${test}V";
}
if ($test = ALLOWED) {
proxy_pass https://myserver;
break;
}
if ($test = DEV) {
proxy_pass https://myserver;
break;
}
if ($test = DE) {
return 403;
}
if ($test = V) {
return 403;
}
if ($test = DENIED) {
return 403;
}