MinIO+PicList 图床 使用 Cloudflare 防盗链
- 笔记
- 2025-05-04
- 76热度
- 0评论
网上有许多优秀的搭建 MinIO + PicList 图床的教程,这里不再赘述。
在此,假设你已经具备了基础环境:将 MinIO API 反向代理了 SSL,并使用了 Cloudflare 的 CDN,并开启了小云朵功能。
一、防盗链
防盗链是通过检查 HTTP 请求中的 Referer
头部,确保只有来自授权网站的请求才能访问资源。虽然这种方法简单有效,但并不绝对安全,因为 Referer
头部可以被伪造。然而,对于大多数场景,这种防盗链机制提供了有效的保护。
你可以复制我的表达式偷懒:编辑表达式→粘贴→使用表达式生成器。再把值改成你的就行
(http.request.full_uri contains "https://demo.com" and not http.referer contains "demo.com")
有多个引用的网页就多And几个不包含的引用方
截图外的地方默认,设置好保存即可
二、放行本地机子 IP(可选)
在完成防盗链设置后,PicList 应该无法再预览图片,因为程序的请求不带 Referer
头,符合防盗链规则,因此被阻止了。为了解决这个问题,你可以放行本地 IP,以便在 PicList 查看相册和预览图片。
首先,在 Cloudflare 的安全性事件页面查看被拦截的 IP(没有阻止数量的先在PicList预览几次图片,再刷新下 CF 页面)
记下被拦截的 IP
然后,再新建一个 WAF 规则,在该规则中放行这些 IP
设置好保存即可
如果有多个本地 IP 需要放行,你可以创建一个 IP 列表,批量放行。
Tips
在一些网站使用时,可能网站会将你图片转成站内的图片链接,这时上述的防盗链
规则需要暂时关闭,等待网站转换完成后再恢复。否则你的图片不会显示!