最近学到了一个nginx的安全规则,配置好了以后可以防止绝大多数的恶意请求。自己配置测试了一下觉得不错,感兴趣的小伙伴们可以尝试一下。
当然了,梦想之路在测试的时候发现也会出现一些小问题,主要就是自己的后台路径中带有admin,或者是其他一些正常的请求触发了规则,这个时候大家只要把它注释掉或者删除就好了。或者修改下面的nginx规则只留下自己想用的就可以了。
还有一个值得注意的是,使用cdn的同学要关闭“回源跟随”,一定要关闭,一定要关闭,一定要关闭回源跟随,不然的话cdn是会缓存并分发第一个规则中的这个10g文件的,造成流量损失。当然,直接返回404也可以。
#触发下面的规则返回一个10g的文件 if ($request_uri ~* "(\.gz)|(\")|(\.tar)|(admin)|(\.zip)|(\.sql)|(\.asp)|(\.rar)|(function)|($_GET)|(eval)|(\?php)|(config)|(\')|(\.bak)") { return 301 http://lg-dene.fdcservers.net/10GBtest.zip; } #禁止下载以 XXX 后缀的文件 location ~ \.(zip|rar|sql|bak|gz|7z)$ { return 444; } #访问链接里含有 test 直接跳转到公安网 if ($request_uri ~* test=) { return 301 https://www.mps.gov.cn; } #禁止一些不必要的爬虫 if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) { return 444; }