我想
1)拒绝除10.1.1.1
以外的所有IP地址(来自浏览器)
2)允许来自android(或任何其他)设备的所有请求
我有以下nginx代码段,但它提供了错误
这里不允许“允许”指令
location / {
allow 10.1.1.1; //allow for this IP only and deny for all browser request
deny all;
if ($http_user_agent ~* "(android") { //allow for android user-agent for now
allow all; // allow access to all mobile users
}
.
.
.}
如何实现这一目标或任何替代方案?
答案 0 :(得分:0)
基本上,您希望阻止最终用户,如果客户端的IP不是10.1.1.1 如果用户代理不是Android
对于所有其他条件,您希望提供正确的内容。因此,请将以下内容放在vhost配置文件中:
if ($remote_addr != 10.1.1.1 ) {
set $myvar "N";
}
if ($http_user_agent !~* "android") {
set $myvar "${myvar}A";
}
if ($myvar = NA) {
return 403;
}
这里我使用了变量$ myvar。
如果IP不是10.1.1.1,则分配值N. 如果User-Agent不是android,则分配值A. 仅分配值NA如果客户端的IP不是10.1.1.1。而用户代理不是Android。在这种情况下,返回403以阻止用户。