nginx防盗链

Posted 烟头

tags:

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

什么叫防盗链?

两个网站A和B, A网站引用了B网站上的图片,这种行为就叫盗链。防盗链,就是要防止A引用B的图片。

如果不做防盗链那么服务器会多出来很多的带宽。开销很大。

配置conf

location ~* ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$
{
    expires 7d;
    valid_referers none blocked server_names  *.linux.com; ##通配允许.linux.com白名单
    if ($invalid_referer) {    ##若不是*.linux.com
        return 403;   ##返回403
    }
    access_log off;
}

测试

# curl -x127.0.0.1:80 -e "http://bbs.centos.com/1.jpg" http://blog.linux.com/1.jpg -I
HTTP/1.1 403 Forbidden
Server: nginx/1.17.0
Date: Sun, 13 Oct 2019 01:29:29 GMT
Content-Type: text/html
Content-Length: 153
Connection: keep-alive

  

# curl -x127.0.0.1:80 -e "http://bbs.linux.com/1.jpg" http://blog.linux.com/1.jpg -I
HTTP/1.1 200 OK
Server: nginx/1.17.0
Date: Sun, 13 Oct 2019 01:29:48 GMT
Content-Type: image/jpeg
Content-Length: 3875
Last-Modified: Mon, 26 Aug 2019 00:30:39 GMT
Connection: keep-alive
ETag: "5d63282f-f23"
Accept-Ranges: bytes

  

# curl -x127.0.0.1:80 -e "http://bbs.linux1.com/1.jpg" http://blog.linux.com/1.jpg -I
HTTP/1.1 403 Forbidden
Server: nginx/1.17.0
Date: Sun, 13 Oct 2019 01:38:31 GMT
Content-Type: text/html
Content-Length: 153
Connection: keep-alive

由上可以查看出*.linux.com通配都能访问到图片。只有一个真相防盗链做成功了。

 

以上是关于nginx防盗链的主要内容,如果未能解决你的问题,请参考以下文章

Nginx系列:Nginx + keepalived 实现高可用 + 防盗链 + 动静分离

nginx 防盗链简单配置

Nginx防盗链Nginx访问控制Nginx解析php相关配置Nginx代理

Nginx防盗链访问控制 解析php相关配置及Nginx代理

nginx 防盗链

nginx 图片防盗链 设置