关于 Cloudflare + Backblaze 最佳实践

252 天前
 Jafee

有几个问题想请教使用过的大佬:

  1. B2 桶 一般会设置为 public 还是 private ?
  2. 可以限制 B2 的流量全部是通过 cloudflare 访问吗?

理想情况下,B2 是不是只用到存储的费用即可,不会再因为流量而付费,因为 cf CDN partner 。如果不可以的话,怎么可以有效的防止被刷的情况?先感谢回复啦

2530 次点击
所在节点    问与答
26 条回复
iloveayu
252 天前
1. 都可以建议 private ,实际 private 也是可以和 CF 配合的,需要搭配 CF 的 worker 。
2. 可以,private 必须用 api key 访问 B2 ,防被刷。
至于如何实现,那是没有现成的方案,思路是自己写一个 cf worker 的反代到 B2 上,代理时带上你的私有 key 去读 B2 上的文件。
同时,你需要处理 cf worker 返回给客户端时的一些 header ,因为其可能暴露你的 B2 原始桶名称,不过你是 private 的情况下,有桶名称别人也刷不到。
ZeroClover
252 天前
设置为 Private 需要配合 Worker 或者 Rule Snippet 使用。Worker 按请求次数收费,Rule Snippet 需要 Pro 订阅。

B2 除了储存费用以外还需要付 API 调用费用
longsays
252 天前
@iloveayu 可以私有,建议使用 worker 定时更新重写 URL 规则,带上鉴权参数就行,避免 worker 请求数超,不会流量付费,但 B2 会有请求数计费,可以后台限制,避免刷超
ruimz
252 天前
设置为 public 桶可以考虑把桶名称设置为长随机字符串,然后通过 CF 处理时去掉一些和 b2 有关的 header

设置为 private 桶则需要 workers ,例如
https://github.com/backblaze-b2-samples/cloudflare-b2
Jafee
252 天前
@iloveayu @ZeroClover @longsays @ruimz 感谢大家,顺便问一句,cf paid worker 防止巨量超量的方式是不是加邮件提醒,自己处理? 有什么好的方法来阻止被恶意刷的情况吗?
iloveayu
252 天前
@Jafee 再用 cf worker 写一个监控,调用量超过你设置的阈值自动关站
longsays
252 天前
@Jafee 使用重写 URL 规则带鉴权参数就不依赖 worker 了,worker 每天消耗 1-2 次更新规则就好
Jafee
252 天前
@longsays 更新规则是指?
longsays
252 天前
@Jafee https://www.longsays.com/2130.html
先有公开桶的隐藏路径规则,然后用 worker 定时更新,在这个规则上加鉴权参数
longsays
252 天前
@Jafee 这样完全不怕刷,默认有 CF 缓存,就算被刷了也有 B2 限额打底,这个咨询过 B2 客服了,限额完全不会超的
longsays
252 天前
https://i1.du0.org/file/453d22da3c18847e43407.png
比如这个地址就是在 B2 私有桶按上述方法实现的
Jafee
252 天前
@longsays 赞,这个方法真的好。但我猜,大批量调用时 b2 肯定会发现这个异常的账号,哈哈
longsays
252 天前
@Jafee 这个不算异常吧,合法合规
私有桶可以携带鉴权参数是官方就有的
然后 CF 免流也是官方自己合作的,而且本身也能用公开桶,只是不想暴露或者暴露了也不怕刷而已
Jafee
252 天前
@longsays 很赞,我也打算先采用这种方法了
longsays
252 天前
@Jafee 如果后续有一天合作终止,CF 不免流了,然后也有其他更优惠的厂商,S3 可以直接 rclone 同步过去,地址原封不动,方便迁移
summerwar
252 天前
@longsays #11 你是不是在 nga 上发帖求过这张照片?
longsays
252 天前
@summerwar 应该不是我,nga 没号
summerwar
252 天前
@longsays #17 之前有人在 nga 上发帖求过一张壁纸,内容是二次元 女孩 高处,看到你的照片的瞬间,我就想起来那个贴子了,刚又去 nga 发了帖子,希望那个老哥能看到吧。感谢
loveshuyuan
251 天前
除了流量费用 b2 还有请求次数费用
Ghjvn
251 天前
有个问题,如果是图床,大家是手动上传到 B2 后粘贴链接,还是直接在博客网站内上传呢。

如果是博客网站( ghost )内直接上传,在开启 cloudflare CDN 的前提下,上传限制 100M ,请问这个怎么突破

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1101976

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX