转自:
    https://blog.csdn.net/zxcvn8866/article/details/52238901?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.edu_weight
    图片防盗链的配置方法

    一、全站的防盗链方法

    在sudo vi /etc/nginx/conf.d/default.conf(nginx安装方式不一样,配置文件位置也不一样)
    文件要添加防盗链的server段里添加下面的代码:

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
    valid_referers none blocked 192.168.10.111;#改成自己的
    if ($invalid_referer) {
    rewrite ^/ http://192.168.10.111/403.html;
    #return 403;
    }
    }

    保存重启nginx 即可
    service nginx restart

    测试方法:自己在非192.168.10.111服务器上新建个html,nginx配置防盗链及伪静态 - 图1 查看效果

    第一行:gif|jpg|png|swf|flv
    表示对gif、jpg、png、swf、flv后缀的文件实行防盗链
    第二行:表示对www.5icool.org这2个来路进行判断
    if{}里面内容的意思是,如果来路不是指定来路就跳转到http://192.168.10.111/403.html页面,当然直接返回403也是可以的。
    请确保server段中只有一个location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$,否则可能导致代码无效,如有这个代码段请合并或删除。
    切记:如果要跳转到图片,记得替换的图片地址要使用没有防盗链的网站图片,否则由于替换的图片其实也处于防盗链情况下,会造成仍旧无法显示设置的图片。

    二、针对图片目录防止盗链

    location /images/ {
    alias /data/images/;
    valid_referers none blocked server_names 192.168.10.111;#改成自己的
    if ($invalid_referer) {return 403;}
    }

    nginx配置防盗链及伪静态 - 图2