阻止Nginx中的多个站点的坏机器人

我需要阻止一大堆机器人抓取运行在Ubuntu 16.04机器上的Nginx Web服务器上的几百个站点。

我在这里find了一个相当简单的例子(代码的重要部分在下面),但似乎这个function只能在服务器块内部使用(因为IF语句),我认为这是一个可怕的想法,特别是机器上有大量的网站。

if ($http_user_agent ~* (ahrefs|wget|crawler|majestic) ) { return 403; } 

所以,问题是可以从主要的nginx.conf文件中实现类似的function,并且可以用于当前在sites-enabled文件夹中定义的所有域以及将来添加的域?

我也读过关于地图的方法,并在GitHub上find了一个使用它的整个项目 – https://github.com/mariusv/nginx-badbot-blocker,但是它仍然需要编辑sites-enabledsites-enabled文件夹中的所有文件而这将花费太多时间用于几百个已经运行的网站。