这个网站的新内容所以我会简短地说明一下:
我目前:
if ($http_user_agent ~* (A-certain-self-made-User-Agent-here)) {
return 200;
}
哪个效果很好。 (通过切换200到403进行测试)。
我的问题是:是否有办法:/ etc / nginx / sites-enabled / default使其仅允许 ONE 用户代理并拒绝其余?
我知道这似乎很愚蠢,但这是我想做的事情,(如果可能的话)。 就像这样?:
if (http_user_agent ~*(user-agent)) {
return 200;
else
return 403;
}
答案 0 :(得分:6)
试试这个:
if ($http_user_agent !~* (A-certain-self-made-User-Agent-here)) {
return 403;
}
这应该是您某个用户代理的“不匹配”。 Reference info here: HttpRewriteModule
答案 1 :(得分:5)
if ($http_user_agent !~* "A-certain-self-made-User-Agent-here") {
return 403;
}
正在我的网站上工作。
答案 2 :(得分:0)
您可以在正确的位置尝试以下操作
set $isallowed = "";
if ($http_user_agent = allowed_user_agent) {
set $isallowed "${isallowed}YES";
}
if ($isallowed !~ YES) {
rewrite ^ http://yourserver.com permanent;
}