首页>>帮助中心>>云服务器配置nginx防盗链

云服务器配置nginx防盗链

2024/3/22 62次
    云服务器配置nginx防盗链  


 Nginx的防盗链原理是加入location项,用正则表达式过渡图片类型文件,对于信任的网址可以正常使用,

 对于不信任的网址则返回相应的错误图片,在源主机(bt.com)的配置文件中加入以下代码:

 vi /usr/local/nginx/conf/nginx.conf

 location ~*\.(jpg|gif|swf)$ {

 valid_referers none blocked *.test.com test.com;

 if ($invalid_referer) {

 rewrite ^/http://www.bt.com/error.png;

 }

 }

 下面分析一下这段代码:

 ~*\.(jpg|gif|swf)$:这段正则表达式表示匹配不区分大小写,以.jpg或.gif或.swf结尾的文件。

 valid_referers:设置信任的网站,可以正常使用图片。

 none:浏览器中referer为空的情况,这就是直接在浏览器访问图片。

 blocked:浏览器中referer不可空的情况,但是值被代理或防火墙删除了,这些值不以http://或

 https://开头。

 后面的网站或者域名:referer中包含相关字符串的网址。

 if语句:如果链接的来源域名不在valid_referers所列出的列表中,$invalid_referer为1,则执行后

 面的操作,即进行重写或返回403页面。

 把图片error.png放到源主机(bt.com)的工作目录下。

 ls /usr/local/nginx/html

 50x.html index.html logo.jpg error.png

 这是重启服务器,重新访问http://www.test.com/index.html,显示的是被重写的图片