Nginx可以通过各种方式来限制访问,例如NGINX基本Http认证、allow/deny等等,这些都是前文提过的,今天来看看nginx如果通过用户代理来禁止访问。
user agent是什么?
用户代理是指浏览器,它的信息包括硬件平台、系统软件、应用软件和用户个人偏好。用户代理的能力和偏好可以认为是元数据或用户代理的硬件和软件的特性和描述;
不太好理解,简单来说告诉服务器你当前使用的是什么浏览器、工具等等。例如火狐、谷歌chrome、wget、curl。
如何禁止特定UA
我们不希望被使用wget或者curl来下载我的文件,怎么做呢?
编辑nginx配置文件,以下内容放在http配置段,那么整个nginx都生效。如果放到server里,那么一个域名生效,你放哪,哪就有效!
1
2
3
|
if ($http_user_agent ~* (curl) ) {
return 404;
}
|
禁止多个UA
1
2
3
|
if ($http_user_agent ~* (wget|curl) ) {
return 404;
}
|
浏览器agent汇总:http://www.cnblogs.com/sink_cup/archive/2011/03/15/http_user_agent.html
https://www.ttlsa.com/nginx/how-to-block-user-agents-using-nginx/