backblaze 免費 10G 儲存空間,接入 cloudflare 之後還免下載流量。
1、在 backblaze 新建一個儲存桶。
然後在裡面隨便上傳一個文件,打開看看裡面的友好 URL 地址。
2、在 cloudflare 去解析 CNAME 域名
目標就是 backblaze 儲存桶提供的友好 URL 地址,比如我的:f005.backblazeb2.com
特別注意:如果你 cloudflare 的域名走了合作夥伴托管區域,比如接入了夢牛等這種第三方平台,同時還是 CNAME 接入方式,也就是無法在 cloudflare 後台直接添加解析的,那就無法正常使用,比如 ssl、規則都不行。
應該有方法解決吧,只不過我在官網沒搜索到,有知道的小夥伴可以告知。
3、設置 cloudflare 域名的 ssl
官方建議設置為:完全 (嚴格),但是我習慣了:完全。
也可以在規則裡面單獨設置。
4、在 cloudflare 設置域名的規則
規則 1:重寫 URL 路徑,也就是隱藏 backblaze 儲存桶的名稱
規則 – 轉換規則 – 新增重寫 URL 規則:
因為是用的二級域名,所以選:自定義篩選表達式,當主機名、URL 等於或者包含你解析的域名都行。
然後重寫規則:選擇 Dynamic 動態
concat("/file/jingxialai",http.request.uri.path)
#/file/ 是 backblaze 固定的文件夾名稱
#jingxialai 換成你自己的儲存桶名稱
#之後保存
規則 2: 從響應中刪除 HTTP 標頭
規則 – 轉換規則 – 新增修改響應頭規則
增加刪除規則,標頭名稱:
x-bz-content-sha1
x-bz-file-id
x-bz-file-name
x-bz-info-src_last_modified_millis
x-bz-upload-timestamp
其中 x-bz-info-src_last_modified_millis 現在好像是沒有的,但是官網教程裡面有,所以我也加上了。
其他和之前的重寫 URL 設置一樣就行,然後保存。
規則 3: 通過 ETag 和緩存控制 HTTP 標頭優化緩存效率
規則 – 轉換規則 – 響應頭規則
就在剛才的 HTTP 響應頭修改規則裡面新增一條就行:
設置動態 – 標頭名稱填寫:ETag
值添加:
concat(http.response.headers["x-bz-content-sha1"][0], http.response.headers["x-bz-info-src_last_modified_millis"][0], http.response.headers["x-bz-file-id"][0])
現在我們再去看看我們上傳到 backblaze 裡面的圖片響應頭信息:
沒有了 x-bz 開頭名稱並且有了 etag 值。
5、設置 backblaze 儲存桶和 cloudflare 域名的緩存規則
按需設置就行。
cloudflare 規則 – 新增一個頁面規則
URL:解析的域名 /*
緩存級別:緩存所有
邊緣緩存 TTL:我設置的 1 個月
backblaze 儲存桶設置緩存時間
桶設定 – 桶信息:720000 這個時間可以自己修改,以秒為單位。
{"cache-control":"max-age=720000"}
現在我們去訪問上傳到 backblaze 裡面的文件,看響應頭信息:
cache-control: max-age=720000
cf-cache-status: HIT(代表是緩存成功了)
差不多就結束了,至於要不要設置防盜鏈,看你需要了。