您的位置:首页 > 运维架构 > Nginx

nginx设置图片防盗链

2018-03-26 11:55 330 查看
如果服务器的图片被别的网站盗链,将影响服务器的带宽以及访问速度,这时我们就需要设置图片文件或视频文件的防盗链功能;

防盗链功能,简单来说就是你可以直接访问该资源,但是不能将我的资源链接放到你自己的服务器上让别人访问,尤其是图片或视频这种比较大的文件,容易导致服务器响应很慢。
好,以下是一些配置:

首先是工作的服务器,IP地址为:192.168.1.199,上面有一个图片文件为 /images/button.png, 这里的服务器用IP访问,实际中肯定是以域名访问才对的。

这里有两台测试服务器,一台是windows系统的apache服务器,IP地址是192.168.1.30,一台是linux系统的nginx服务器,域名是:shiyifei.nethospital_admin.neibu

首先写一个测试脚本 referImg.html,内容如下:

[html] view plain copy<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8">  
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">  
<title>测试防盗链功能</title>  
<meta name="description" content="">  
<meta name="keywords" content="">  
<link href="" rel="stylesheet">  
</head>  
<body>  
    <img src="http://192.168.1.199/images/button.png" />  
</body>  
</html>  

分别将该文件放在192.168.1.30以及shiyifei.nethospital_admin.neibu的根目录下,
然后在192.168.1.30电脑上分别访问 http://192.168.1.199/images/button.png   http://127.0.0.1:6000/referImg.html   http://shiyifei.nethospital_admin.neibu
我们发现图片都是可以访问到的。 192.168.1.30上是wamp环境,端口6000,因此可以直接用127.0.0.1:6000来请求。

然后我们在192.168.1.199服务器上设置nginx防盗链,设置如下:



配置节点是在 http->server下

配置成功以后,我们检查一下配置文件是否有效 

/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/etc/nginx.conf
nginx: the configuration file /usr/local/nginx/etc/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/etc/nginx.conf test is successful
配置文件有效,然后重新加载一下配置文件
/etc/init.d/nginx reload
然后再分别访问一下上面的三个地址:
具体网站响应如下图所示:



直接访问ok



在白名单的服务器上访问也是ok的



我们可以看到,在shiyifei.nethospital_admin.neibu这个服务器上访问时是允许的,这是因为我们将shiyifei.nethospital_admin.neibu加入了白名单;
而在192.168.1.30本机的apache服务器上访问时,却返回了403错误,因为没有将192.168.1.30设置为白名单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: