Backblaze B2 + Cloudflare 搭建免费图床
Backblaze 部分
注册 Backblaze 账号
-
输入 邮箱、密码 进行注册;
创建 B2 Bucket(存储桶)
-
点击右上角
My Account
进入后台; -
选择
Buckets
(桶),然后点击Create a Bucket
,创建一个存储桶。
-
Bucket Unique Name
(桶唯一名称):自己取一个名称; -
Files in Bucket are
(桶里面的档案是):Public
(公众);
- 点击
Create a Bucket
(创作一个桶)完成创建;
获取存储桶所在服务器
-
回到
Buckets
(存储桶) ; -
在刚刚创建的存储桶上,点击
Upload/Download
(上传/下载); -
上传一个任意文件到存储桶中;
-
然后点击刚上传文件后面的
i
(information
,信息); -
记住
Friendly URL
的前部分,如:https://f004.backblazeb2.com/
Cloudflare 部分
注册 Cloudflare 账号
-
输入 邮箱、密码 进行注册;
将域名接入 Cloudflare
-
在
Websites
(网站)标签,点击Add a Site
(添加站点) -
输入你的有效域名并点击
Add site
(添加站点) -
Select a plan
(选择计划):选择最下方的Free
$0(0 美元),点击Continue
(继续) -
到你的域名服务商将
DNS
服务替换未cloudflare
的
(Nameserver 1
)名称服务器 1:
aldo.ns.cloudflare.com
(Nameserver 2
)名称服务器 2:
leanna.ns.cloudflare.com
解析子域名
在接入的域名下,点击DNS
标签,点击Add record
(添加记录)
类型 | 名称 | 内容 |
---|---|---|
CNAME | img | f004.backblazeb2.com |
类型: 为CNAME
;
名称: 为子域名,一般有以下几种:
img
images
image
assets
(不仅存放图片,还有存放css
、js
)static
(不仅存放图片,还有存放css
、js
)
内容: 为此处第5条我们获取的存储桶所在服务器;
输入后点击Save
(保存);
完成后确保Proxy status
(代理状态)下的橙色保护盾是开启的状态, 这代表请求是通过了Cloudflare
的CDN
代理;
Cloudflare
默认的 TTL
将被设置为 auto
(自动);
SSL/TLS
在接入的域名下,点击SSL/TLS
标签,选择Overview
(概述)设置为Full (strict)
【完全(严格)】
添加规则
我们需要新建2
个规则:
在接入的域名下,点击Rules
(规则)标签,选择Page Rules
(页面规则);
点击Create Page Rule
(创建页面规则)
【规则一】
- URL: https://解析的名称.域名/file/存储桶名称/*
|
|
-
Pick a Settin(选取设置):
Cache Level
(缓存级别) -
Select Cache Level(选择缓存级别):
Standard
(标准)
【规则二】
- URL: https://解析的名称.域名/file/*/*
|
|
-
Pick a Settin(选取设置):
Forwarding URL
(转发URL) -
Select status code(选择状态代码):
302 - Temporary Redirect
(302 - 临时重定向) -
Enter destination URL(输入目标 URL ):
https://secure.backblaze.com/404notfound
最后的 Backblaze 设置
-
打开
Backblaze
并登录,点击右上角My Account
进入后台; -
选择
Buckets
(桶),点击Bucket Settings
(桶设定) -
在
Bucket Info
(桶信息)输入以下内容:
|
|
-
点击
Update Bucket
(更新桶); -
点击
CORS Rules
(CORS规则)选择Share everything in this bucket with all HTTPS origins
(与所有HTTPS来源共享此存储桶中的所有内容) -
点击
Update CORS Rules
至此,我们就拥有了一个自定义域名的免费图床。
地址形式为: https://解析的名称.域名/file/存储桶名称/上传的文件名
|
|
精简链接
目的
去掉URL
中无用的/file/<bucket-name>/
部分;
原链接: https://img.baidu.com/file/blog/test.png
精简链接: https://img.baidu.com/test.png
创建 Workers 服务
- 在
Cloudflare
控制台,点击Workers
标签,选择Overview
(概述);
首次使用按提示开通即可;
- 点击
Create a Service
(创建服务),输入自取Service name
(服务名称)
Select a starter
(选择启动器):HTTP router
(HTTP路由器)
-
点击右下
Create service
(创建服务) →Worker
右侧的Quick edit
(快速编辑) -
清空窗口内默认的内容,并粘贴以下内容到窗口内;
|
|
粘贴前请修改b2Domain
和b2Bucket
这两个变量的值;
b2Domain
:为图床的二级域名;
b2Bucket
:为bucket
存储桶的名字;
- 点击
Save and Deploy
(保存并部署),然后返回
添加 Worker 路由规则
使访问subdomain.domain.com/*
时,请求先由worker
来处理。
-
在接入的域名下,点击
Workers Routes
(Workers路由)标签; -
点击
HTTP Routes
(HTTP 路由)右侧的Add route
(添加路由);
- Route(路由): 解析的名称.域名/*
|
|
-
Service(服务): 选择上一步创建的服务名称;
-
Environment(环境): 保持默认即可;
- 点击
Save
(保存),完成设置。
防盗链
-
在接入的域名下,点击
Security
(安全性)标签,选择WAF
; -
点击
Firewall rules
(防火墙规则)右侧的Create firewall rule
(创建防火墙规则)
Rule name
(规则名称): 自己取一个名称
When incoming requests match…(当传入请求匹配时…)
-
Field
(字段):Referer
(引用方) -
Operator
(运算符):does not contain
(不包含) -
Value
(值):博客地址,如:ll.sc.cn
点击右侧And
,在下一行继续;
-
Field
(字段):URI Full
(URI 完整) -
Operator
(运算符):contains
(包含) -
Value
(值):https://解析的名称.域名,如:https://img.baidu.com
Then…(则…)
Choose an action
(选择操作):Block
(阻止)
最后点击Deploy firewall rule
(部署防火墙规则)完成设置;
参考链接
- 文章作者:守正
- 文章标题:Backblaze B2 + Cloudflare 搭建免费图床
- 原文链接:https://ll.sc.cn/posts/20221008155414/
- 版权声明:本站所有文章除特别声明外,均采用
CC BY-NC-ND 4.0
国际许可协议,若转载请注明出处!
分享到朋友圈

