用Nginx给网站做一个简单的防盗链

Posted alert等

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Nginx给网站做一个简单的防盗链相关的知识,希望对你有一定的参考价值。

目录结构

nginx防盗链配置

有些时候,大家不想让别人调用自己的图片,一是因为个人版权的问题,再一点就是会增加服务器的负载、还会产生一些没必要的流量。

其实在Nginx里面,很容易就做到防盗链的,在nginx.conf文件加入一个localtion配置项。

下面请看配置:

location ~ .*\.(jpg|jpeg|JPG|png|gif|icon)$ {
        valid_referers blocked www.qixing318.com qixing318.com;
        if ($invalid_referer) {
            return 404;
        }
}

gif|jpg|jpeg|….,这些是你想要屏蔽的文件类型,可以根据情况修改。

只需要把文中 www.qixing318.com qixing318.com 修改为你允许显示你网站图片的其他网站域名,注意中间用空格分开,而不是逗号。

这样直接返回的是404页面。也可以用http://domain.com/404.jpg,显示给盗链者看到的图片,注意不要放到自己的域名上,因为放盗链的作用,那样对方是看不到的,可以上传到一些支持外联的网络相册上。

当然了,也可以设置某个目录防盗链,只需把localtion匹配的改成一个目录就可以了,比如:

location ~ ^/images/ {
	valid_referers none blocked www.qixing318.com qixing318.com;
	if ($invalid_referer) {
		return 404;
	}
	#rewrite ^/ http://otherdomin.com/404.jpg;
}

这样就对images这个目录设置防盗链了。

以上是关于用Nginx给网站做一个简单的防盗链的主要内容,如果未能解决你的问题,请参考以下文章

Nginx环境下对部分网站做防盗链设置及外链的跳转

配置 Nginx 防盗链

Nginx的防盗链技能

nginx防盗链

Nginx服务之防盗链功能

Nginx防盗链和FPM模块优化