在 nginx.conf中的server部分中添加如下代码
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
valid_referers none blocked server_names *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com ; // 对这些域名的网站不进行盗链。
if ($invalid_referer) {
# rewrite ^/ http://www.52blackberry.com/403.html;
# return 403;
rewrite ^/ http://www.example.com/nophoto.gif;
}
}
其中 rewrite ^/ 后边可以是一个错误页面,如上边那一行,也可以是一个图片,如下面那个。
对于开头location 部分有的是这样的形式 location ~ .*\.(gif|jpg|png),经我验证都可以实现。
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
valid_referers none blocked server_names *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com ; // 对这些域名的网站不进行盗链。
if ($invalid_referer) {
# rewrite ^/ http://www.52blackberry.com/403.html;
# return 403;
rewrite ^/ http://www.example.com/nophoto.gif;
}
}
其中 rewrite ^/ 后边可以是一个错误页面,如上边那一行,也可以是一个图片,如下面那个。
对于开头location 部分有的是这样的形式 location ~ .*\.(gif|jpg|png),经我验证都可以实现。
0
本帖最后由 qhj-love 于 2016-3-6 17:12 编辑
在测试中如果防盗链没有生效,将其放在servername下即可 代码如下
#配置防盗链
在测试中如果防盗链没有生效,将其放在servername下即可 代码如下
#配置防盗链
- location ~ .*\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ {
- valid_referers none blocked server_names *.taobao.com *.baidu.com *.google.com *.google.cn *.soso.com;
- if ($invalid_referer) {
- return 404;
- }
- access_log off;
- }
编辑回复