CentOS下nginx防盗链配置
时间:2014-05-04 22:34 来源:linux.it.net.cn 作者:IT网
判断一个请求的Referer可以有效的防止盗链,使用nginx相应的HTTP Referer模块(HTTP Referer)可以实现此功能.
当一个请求头的Referer字段中包含一些非正确的字段,这个模块可以禁止这个请求访问站点。
这个头可以随意的伪造,因此,使用这个模块并不能100%的阻止这些请求,绝大多数拒绝的请求来自一些典型的浏览器,可以认为这些典型的浏览器并不能提供一个”Referer”头,甚至是那些正确的请求。
如下例:
location /photos/ {
valid_referers none blocked www.mydomain.com mydomain.com;
if ($invalid_referer) {
return 403;
}
}
这里只有一个重要的指令valid_referers:
这个指令在referer头的基础上为 $invalid_referer 变量赋值,其值为0或1。
可以使用这个指令来实现防盗链功能,如果valid_referers列表中没有Referer头的值, $invalid_referer将被设置为1(参照前例)。
参数可以使如下形式:
-
none意为不存在的Referer头
blocked意为根据防火墙伪装Referer头,如:“Referer: XXXXXXX”。
server_names为一个或多个服务器的列表,0.5.33版本以后可以在名称中使用“*”通配符。
(责任编辑:IT)
判断一个请求的Referer可以有效的防止盗链,使用nginx相应的HTTP Referer模块(HTTP Referer)可以实现此功能. valid_referers none blocked www.mydomain.com mydomain.com;
这里只有一个重要的指令valid_referers:
|