按用户代理阻止访问

按用户代理阻止访问

目标:

允许用户代理为空字符串或“ELB-HealthChecker.*”的客户端访问,其余的应该被阻止。

我尝试了此代码并且它可以与 nginx/1.2 一起使用,但是升级到 nginx/1.2.3 后,它会阻止所有内容:

if ($http_user_agent !~* ELB-HealthChecker|"") { return 403; }

有人可以帮忙吗?

答案1

这在 1.2.3 中对我有用:

    if ($http_user_agent !~* "(ELB-HealthChecker|^$)") { return 403; }

相关内容