欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx 防盗链配置

程序员文章站 2022-07-07 23:19:08
...

网站写文章时,可能为了增加文章的生动性,我们常常加入图片来说明,或者更加直观的展示的问题。但是图片被其他网站乱应用,可能会增加额外流量的费用。所以我们为了避免这种情况,就给网站加上图片防盗链功能。
网站是用的 Nginx,所以我们介绍在 Nginx 如何配置网站图片的防盗链。防盗链功能是基于 HTTP 协议的 Referer 机制,通过 referer 跟踪来源,对来源就行对比。

配置代码

location ~* (gif|jpg|jpeg|png)$ {
	expire 30d;
	valid_referers none blocked *.sin2.cn;
	if ($invalid_referer) {
		rewrite ^/ https:://www.sin2.cn
	}
}

代码解释

第一行:匹配对应的图片类型

第二行:属于配置文件中location作用域中原有的图片缓存时间配置

第三行:valid_referers 指定资源访问通过以下几种方式为合法,可理解设置的白名单。

关键字 描述
none 直接通过URL访问,无referer值的情况
blocked referer值被防火墙修改
servername 指定资源在合法的域名白名单中可以被引用,支持*通配符,多个域名使用空格符分开

第四行:匹配不到对应的referer来源域,则跳转到配置的地址上去

注意

  1. 不能完全的防止图片被使用,可以通过其他方式得到图片
  2. 站点使用了CDN,nginx配置的防盗链可能不会起作用,可以在CDN管理平台配置。
相关标签: nginx linux