LNMP一键包 nginx防盗链valid_referers使用方法

Aug 22nd Tue, 2017/JiaJieChan/折腾/313 阅读/没有评论

转这篇文章是今天要给ao.ci的mp4视频配置个防盗链,试了一个小时期间各种升级nginx编译nginx加模块等等,最后才发现是一个空格惹出来的。大家可以借鉴一下。

nginx防盗链有两种这里只介绍nginx自带的valid_referers防盗链。

防盗链的一般方法是在server或者location段中加入如下格式代码:

valid_referers   none  blocked  server_names

其中 none表示空的来路,也就是直接访问,比如直接在浏览器打开一个图片。blocked表示被防火墙标记过的来路,server_names是域名,可以用*.demo.com来表示所有的二级域名。

重启nginx有如下提示:

nginx: [emerg] unknown directive "if($invalid_referer)" in /usr/local/nginx/nginx.conf:50

解决办法:

if和后面括号以及变量等号这些元素都要有空格

  • 第一行:wma|gif|jpg|png|swf|flv,表示对wma、gif、jpg、png、swf、flv后缀的文件实行防盗链
  • 第二行:server_names,表示允许访问的来路 *.ao.ci,ao.ci这2个来路进行判断(*代表任何,任何的二级域名)
  • 第三行:if{}里面内容的意思是,如果来路不是指定来路就跳转到403错误页面,当然直接返回404也是可以的,也可以是图片。

禁止IP访问,配置如下:

 

nginx针对的目录的防盗链

以上是nginx自带的防盗链功能。

 

声明: 本文采用 BY-NC-SA 协议进行许可. 转载请出示版权信息.
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
支持使用Gravatar头像

JiaJieChan提醒您: 要回复某人的评论,请将鼠标移动到那条评论,评论右边就会出现Replay字样(一定是要鼠标指针中的评论),在评论框中出现的的后面下一行填写评论提交即可.被回复者将收到邮件通知噢; 要是想直接对本文评论请直接在评论框留言即可,然后点提交.