Nginx 过滤url
1、用在if中的正则表达式,下表:
说明:
~匹配
!~不匹配
*不区分大小写
这样比较好记忆。
2、测试
location / { if ($request_uri !~ "hello") { return 403; } if ($request_method !~ ^(GET|POST)$) { return 403; } proxy_pass http://url; root html; index index.html index.htm; }
说明:
1)如果访问的url中不匹配hello,那么就禁止访问。
2)如果访问的方法不是“GET|POST”那么禁止访问。
这样就可以了。
#禁止一些不必要的爬虫
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup|PetalBot)) {
return 444;
}
参考:
https://blog.csdn.net/qq_36532540/article/details/103490016
道法自然