Cloudflare R2 - 免費圖床

LaughingZhu發表於2024-08-25

前言

之前看了一篇文章,關於介紹 Cloudflare R2 來搭建圖床的方案,主要是白嫖 Cloudflare 的空間和 cdn 服務。我現在部落格 DevNow 的 CDN 使用的是七牛雲,偶爾還是有一點點的支出。

七牛雲賬單

雖然不多,但是吧,看到有白嫖的方案,還是蠢蠢欲動,這不今天就來試著弄下看看。

1. 註冊Cloudflare賬號

先簡單介紹下 Cloudflare 是一家提供網路安全和效能最佳化服務的公司。它的主要功能包括內容分發網路(CDN)、分散式拒絕服務攻擊(DDoS)防護、網際網路安全和最佳化,以及域名系統(DNS)服務。

Cloudflare R2Cloudflare 提供的物件儲存服務。它類似於亞馬遜的 S3(Simple Storage Service) ,但有一個顯著的區別:Cloudflare R2 不收取出站頻寬費用。這意味著使用者在從儲存中檢索資料時不會被額外收費,這對於需要大量傳輸資料的應用來說是一個很大的優勢。

R2 允許使用者儲存和管理大量的非結構化資料,比如圖片、影片、備份檔案等。它與 Cloudflare 的全球網路整合,提供了快速、安全的內容交付,適合需要高效、可靠的儲存和分發解決方案的企業。R2 還支援與現有的 S3 API 相容,方便那些已經在使用 S3 的使用者遷移或擴充套件到 Cloudflare R2

R2 定價

2. 繫結域和解析DNS

在左側網站皮膚中新增一個域名,由於我的 blog 域名已經在騰訊雲上買完了,這裡主要將 DNS 解析服務遷移到 Cloudflare

新增域名

如果不是 DNS 解析不是 Cloudflare 的話,狀態這裡會顯示讓你去切換。我這裡用騰訊雲來舉例子,具體步驟如下:

2.1 在騰訊雲裡域名的選單下點選對應域名管理

域名管理

2.2 然後點選修改 DNS 解析

修改DNS

2.3 這裡我們把預設的 DNSPod 切換到 自定義DNS,然後填寫對應的地址就好

切換DNS

下邊這兩個地址可以在 Cloudflare 中找到,填上就好,然後等待,快的話幾分鐘就好,好了之後 Cloudflare 會傳送郵件通知,如下,這個時候表示已經成功解析過來了。

解析成功

2.4 這個時候再回到網站這裡發現狀態已經成功變成活動了

狀態

3. 開通R2服務

透過左側選單導航進入到 R2 的服務,開通前需要繫結信用卡,支援 Visa 的都可以,方便後邊對於超出免費額度或者開啟一些收費服務。開通後即可建立儲存桶:

建立儲存桶

建立後可以進入到桶的詳情皮膚:

儲存桶詳情

配置一個自定義域名,後邊可以透過這個訪問。
到這裡基於 R2 的物件儲存服務就基本完事了。後續就可以在儲存桶中儲存物件了。

儲存物件

4. PicGo 配置R2上傳服務

為了縮減上傳圖片的工作流,我使用的是基於 PicGo 的上傳方式,可以透過複製和 url 進行上傳。這裡主要記錄下如何配置上傳到 R2 服務的過程。

R2 是相容S3的格式的,所以這裡直接配置S3,外掛裡搜尋 s3 的外掛,安裝即可:

外掛

在「外掛設定」中選擇安裝,「圖床設定」中就新增了 Amazon S3 選項。點選進入配置選項。

S3配置

這裡有幾項配置需要尤其注意。

  • 應用金鑰 ID,填寫 R2 API 中的 Access Key ID(訪問金鑰 ID)
  • 應用金鑰,填寫 R2 API 中的 Secret Access Key(機密訪問金鑰)
  • 桶名,填寫 R2 中建立的 Bucket 名稱,如我上文的 yu-r2-test
  • 檔案路徑,上傳到 R2 中的檔案路徑,我選擇使用 {fileName}.{extName} 來保留原檔案的檔名和副檔名。
  • 自定義節點,填寫 R2 API 中的「為 S3 客戶端使用管轄權地特定的終結點」,即 xxx.r2.cloudflarestorage.com 格式的 S3 Endpoint
  • 自定義域名,填寫上文生成的 xxx.r2.dev 格式的域名或自定義域名,如我配置的 https://r2.laughingzhu.cn

上邊的秘鑰資訊在 Cloudflare R2 的服務中可以找到:

Cloudflare 秘鑰

建立一個新的 API 令牌,完成建立後,即可看到相關秘鑰,安裝上邊的對應關係填入即可:

image.png

其他配置保持預設即可,確認引數無誤後點選「確定」與「設定為預設圖床」即可。

5. PicGo 增加自動壓縮和轉 webp 外掛

轉webp外掛

我用的是 compress-next
有很多模式可以配置,我這裡選的是 webp-converter

image.png

我主要是希望透過轉換 webp 來最佳化圖片載入。安轉完記得進行預設配置:

外掛配置

然後啟用即可,上傳圖片即可轉換為 webp 格式 上傳到 R2 服務

到這裡我 blog 整體的靜態資源已經從七牛雲遷移到 Cloudflare R2 服務了,開始白嫖的日子了,舒服😊。

原文連結:Cloudflare R2 - 免費圖

相關文章