Gcore CDN + Backblaze B2 設定記錄

可以接私有儲存桶感覺還不錯,先摸索一下當備用計畫。

收費

Gcore CDN的免費方案(FREE plan)聽起來可能比較好聽,其實就是有1 TB免費額度的Pay As You Go計費方案,已經是付費方案之一。雖然不用先登記信用卡,但要是免費額度用光不會停權而是自動開始計費,沒把帳結清便會暫停服務直到債務繳清或是最終被關閉帳戶。目前沒找到控制額度的方式。

Global CDN. Free Forever Plan | Gcore

https://gcore.com/cdn

15分鐘

Gcore CDN的每一次設定變更都需要15分鐘才能完成。對我這種不懂技術的人來說非常困擾。已經在路線圖中預定改進。

Instant config propagation

Reduce the time needed to apply the setting from 15 minutes to several seconds.

https://roadmap.gcore.com/p/instant-config-propagation

502 Bad Gateway

關鍵設定:

Origin pull protocol:HTTPS

SNI hostname:Dynamic SNI hostname

Host header:Custom Host header

Custom Host header:存儲桶名稱.s3.地區.backblazeb2.com
(例如:mybucket.s3.us-center-001.backblazeb2.com)

Use a private bucket as an origin

https://gcore.com/docs/cdn/cdn-resource-options/general/use-a-private-bucket-as-an-origin

附言:Host header若是選擇Forward Host header,不會造成502 Bad Gateway,但相應會造成:

{
  "code": "not_found",
  "message": "/api/top_level_url_mapping",
  "status": 404
}

SignatureDoesNotMatch

這部分弄了最久,每改一次就要等15分鐘。問題在於字串是出自Backblaze B2系統自動產生或是沒說不允許,但到了Gcore CDN兩邊就對不上。

以mybucket.s3.us-center-001.backblazeb2.com為例

Gcore CDN > Origins group

Type of origin authentication:AWS signature V4

Choose S3 storage:Other

Hostname:mybucket.s3.us-center-001.backblazeb2.com

Access Key ID:*****

Secret access key:*****

Region (optional):us-center-001

Bucket name:mybucket

Secret access key:是從Backblaze B2的Application Keys自動產生。但是它有時候會包含%、/、+等特殊符號,而特殊符號不被認可,需要重新刷出單純由英文和數字組成的Secret access key。

SignatureDoesNotMatch Error in AWS CLI [Solved]

https://bobbyhadz.com/blog/aws-cli-signature-does-not-match

Bucket name:在Backblaze B2創建儲存桶名稱時會區分大小寫;但是Gcore CDN則否。導致兩邊對應不上,要新開一個名稱只有小寫字母(或數字)的儲存桶。


雖然Cloudflare今年取消section 2.8(對非HTML資源的限制)讓人可以安心接上物件儲存當圖床用,但太多服務都用同一家公司讓我想先找好B計畫。