Backblaze B2 (S3 兼容)
使用 Backblaze B2 配合 S3 兼容存储策略存储文件。
配置
在 Backblaze B2 控制台创建一个存储桶,然后前往 Application Keys
,创建一组拥有 Read & Write
权限的访问密钥。
在 Cloudreve 创建一个 S3 兼容
存储策略,按照下面规则填写信息:
- 存储策略中的
Bucket 名称
填写刚刚创建的存储桶名称; - 存储策略中的
Endpoint
填写你在存储桶列表中获取到的Endpoint
,并在开头追加https://
,比如https://s3.us-east-003.backblazeb2.com
; - 存储策略中的
地区代码
填写Endpoint
中观察到的地区代码,比如us-east-003
; - 存储策略中的
访问凭证
填写为刚刚创建的访问密钥的keyID
和applicationKey
,注意开头和结尾不要包含多余的空格;
跨域策略
存储桶需要配置跨域策略后才能使用 Cloudreve 网页端上传或浏览文件。正常情况下,你可以在添加存储策略时让 Cloudreve 自动配置跨域策略。
如果需要手动配置,请根据 Backblaze 的官方文档 下载 B2 CLI 工具,然后执行 ./b2-linux account authorize
进行账号登录。(可以使用上文中创建的 keyID
和 applicationKey
)
根据提示,填入 keyID
与 applicationKey
后,执行以下命令修改存储桶 CORS 配置:
bash
./b2-linux bucket update <bucketName> --cors-rules '[
{
"allowedHeaders": [
"authorization",
"range",
"content-type"
],
"allowedOperations": [
"s3_head",
"s3_get",
"s3_put",
"s3_post",
"s3_delete"
],
"allowedOrigins": [
"*"
],
"corsRuleName": "s3DownloadFromAnyOriginWithUpload",
"exposeHeaders": ["ETag"],
"maxAgeSeconds": 3600
}
]'
常见问题
上传报错 请求失败: AxiosError: Network Error
- 检查用户是否能够连接到你的 Backblaze B2 存储桶 Endpoint;
- 检查是否正确配置了跨域策略;·
- 检查
设置
->文件系统
->上传会话有效期 (秒)
, 其值应小于604800
。
中转上传失败,提示 无法解析响应
展开详细错误,检查错误信息中是否含有
413 Request Entity Too Large
字样。如果有,请修改 Nginx 反代配置,设定或增大
client_max_body_size
的值,比如client_max_body_size 20000m;
。此设定值应大于上传文件的大小。检查是否有外部 WAF 防火墙拦截了上传请求。
添加跨域策略报错 Failed to create cors: InvalidRequest: The bucket contains B2 Native CORS rules.
前往 B2 存储桶 CORS 跨域策略设置,关闭自带的跨域策略后再在 Cloudreve 重试添加跨域策略。