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;
名称: 为子域名,一般有以下几种:
imgimagesimageassets(不仅存放图片,还有存放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国际许可协议,若转载请注明出处!
分享到朋友圈