Nginx 实现防盗链

之前写博客的时候,一直找不到合适的图传,就把图片上传到别的网站再引用,本以为这样就不用图床了。万万没想到还有防盗链这种东西。

1
2
3
4
5
6
7
8
9
# https://juejin.cn/post/6972005281886634015
location ~* \.(gif|jpg|png|swf|flv)$ { #需要防盗链资源的文件类型
valid_referers *.lishuo.net lishuo.net; #这是可以盗链的域名或 IP 地址,一般情况可以把 csdn.net,juejin.cn 等域名放进来
if ($invalid_referer) {
#这样设置能够防盗链,不断地 302 重定向很多次,可能会加重服务器的负担,所以不建议这么做,除非有单独的图片服务器支持
#rewrite ^/ https://dss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1201024306,578860947&fm=26&gp=0.jpg; #如果有人非法盗链资源,则返回一张防盗链的图片
return 403; #或者返回 403 错误代码
}
}

参考

【防盗链】Nginx 与 Apache 防盗链教程


Nginx 实现防盗链
https://bubao.github.io/posts/c0d2850d.html
作者
一念
发布于
2021年6月13日
许可协议