寫在開始

由于要考虑办事器的容量,所以我把我此刻用的Gitea接入了Backblaze B2,由于代价很是低,1T的容量用一年都不到450人平易近币。

問題描述

可是接上之後就發現問題了,傳個文件彈掉敗。看Gitea的日记發現

2023/08/29 10:14:15 ...lfs/content_store.go:58:Put() [E] [64edfd37-2] Whilst putting LFS OID[cf407ee1de9329a2f2d899a6f6b5b195bb09418afd0510a9430c548895c691cb]: Failed to copy to tmpPath: cf/40/7ee1de9329a2f2d899a6f6b5b195bb09418afd0510a9430c548895c691cb Error: Unsupported header 'x-amz-checksum-algorithm' received for this API call.
2023/08/29 10:14:15 ...rvices/lfs/server.go:323:func1() [E] [64edfd37-2] Error putting LFS MetaObject [cf407ee1de9329a2f2d899a6f6b5b195bb09418afd0510a9430c548895c691cb] into content store. Error: Unsupported header 'x-amz-checksum-algorithm' received for this API call.
2023/08/29 10:14:15 ...rvices/lfs/server.go:336:UploadHandler() [E] [64edfd37-2] Error whilst uploadOrVerify LFS OID[cf407ee1de9329a2f2d899a6f6b5b195bb09418afd0510a9430c548895c691cb]: Unsupported header 'x-amz-checksum-algorithm' received for this API call.

说是不兼容一个头,上彀上搜了搜发现是minio客户端和Backblaze B2的S3 API不完全兼容导致的。
官網有說

Requests that include the x-amz-sdk-checksum-algorithm HTTP header (These requests are rejected with HTTP status 400.)

還有其他的一個項目裏也用到了minio的客戶端也有人發過issue

解決方案

本以爲這操纵要涼涼的時候,偶然翻了一下Gitea官方的app.ini,發現了這麽一個建设項

;; Minio checksum algorithm: default (for MinIO or AWS S3) or md5 (for Cloudflare or Backblaze)
;MINIO_CHECKSUM_ALGORITHM = default

他說假如用Cloudflare或Backblaze的話把這一項改成md5。我就照著改了重啓,就發現他能用了。

寫在最後

本來沒想到還有這麽個問題來著,最開始傳了一個文件試了試來著,結果真到用的時候出問題了。
本来觉得凉凉的成果随便翻翻又翻到体味決方案。
真的是峰回路轉給我玩蹦極啊( ̄ε(# ̄)

Last modification:August 29, 2023
若是覺得我的文┞仿對你有效,請隨意贊賞