用華為雲 OBS 搭建個人圖床:從建桶、公開讀取到防盜鏈的完整實戰
寫部落格、做筆記、經營技術文件時,圖片放哪裡常常是第一個麻煩:放在本機,換電腦就失效;放在免費圖床,連結說斷就斷,速度也不穩定。這篇文章就用華為雲物件儲存服務 OBS,從零搭建一個自己可控的個人圖床,從建桶、公開讀取到防盜鏈一次講清楚。
為什麼用 OBS 做圖床
圖床的本質,就是一個能穩定對外提供圖片連結的儲存空間。OBS 適合做圖床的原因有三個:第一,物件儲存按量計費,圖片量不大時成本很低;第二,支援多種儲存類別,冷熱資料可以分開放;第三,可以搭配桶策略、防盜鏈與 CDN,權限與速度都能自己掌控。
重要提醒:圖床桶裡只放打算公開的圖片,不要放身分證件、合約、帳號密碼截圖等任何私密檔案。公開桶的設定一旦開錯,檔案就等於對全網可見。
整體流程
- 建立一個專門放圖片的 OBS 桶。
- 上傳圖片,統一用
images/2026/10/檔名.png這類目錄結構。 - 設定桶策略,開放匿名讀取,讓圖片連結可以直接在瀏覽器開啟。
- 設定防盜鏈,避免圖片被其他網站大量盜用,產生不必要的流量費。
- 需要更快、更好看的網域時,再接 CDN 與自訂網域。
步驟一:建立桶
在 OBS 控制台建立桶時,建議這樣選:
- 區域:選離主要讀者最近的區域,例如部落格讀者多在華北就選華北,圖片載入延遲會明顯低一點。
- 桶名稱:全域唯一,建議用
my-blog-images-xxx這類帶個人識別、又不容易撞名的名字。 - 儲存類別:經常被讀取的圖片用標準儲存;很少被翻到的舊圖,可以另外放一個低頻存取的桶,或用生命週期規則自動降級。
- 版本控制:個人圖床一般不需要開,開了會多佔空間;真的怕誤刪,再考慮開啟。
建好桶之後,先在桶裡建立 images/2026/10/ 這樣的目錄。目錄不是為了好看,而是為了日後搬家、備份、清理都方便:哪篇文章的圖在哪個月份,一看目錄就知道。
步驟二:上傳圖片並取得連結
上傳方式有三種,依習慣選一種即可:
- 控制台直接拖曳上傳,適合一次上傳幾張圖。
- OBS Browser+ 圖形化工具,適合大量上傳與目錄管理。
- obsutil 命令列工具,適合寫腳本批次上傳,例如
obsutil cp 本機目錄 obs://桶名/images/2026/10/ -r。
上傳前先做兩件事:第一,把圖片壓縮到合理大小,部落格配圖一般寬度 1200px、單張 200KB 以內就很夠用;第二,檔名用英文、數字與連字號,例如 obs-bucket-policy.png,不要用中文或空格,避免連結編碼出問題。
上傳完成後,在物件列表點開圖片,就能看到它的物件連結,格式類似 https://桶名.obs.區域.myhuaweicloud.com/images/2026/10/obs-bucket-policy.png。這個連結就是要貼到文章裡的圖床連結。
步驟三:設定桶策略,開放匿名讀取
剛建好的桶預設是不公開的,直接用連結開啟會回 403。這時要設定桶策略,允許任何人讀取桶內物件。下面是一個最小可用的範例,只開放讀取,不開放寫入與刪除:
{
"Version": "1.0",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": { "ID": ["*"] },
"Action": ["obs:GetObject"],
"Resource": ["桶名/*"]
}
]
}
設定時請把 桶名 換成自己的桶名。設定完成後,用無痕視窗開啟圖片連結,能正常顯示圖片才算成功。如果還是 403,先檢查桶策略是否生效、物件路徑是否寫錯,再檢查是不是把圖片上傳到了另一個桶。
步驟四:設定防盜鏈,守住流量費
公開讀取有一個風險:別人可以直接引用你的圖片連結,流量費由你出。OBS 的防盜鏈功能可以只允許特定 Referer 存取,例如只允許自己的部落格網域與華為雲社群網域。
建議做法是:
- 把自己的部落格、社群文章頁面網域加入白名單。
- 不確定時先允許空 Referer,否則直接在瀏覽器開啟圖片也會被擋住。
- 定期在 OBS 控制台看流量與請求量,突然暴增時先查是被哪個網域引用,再把該網域加入黑名單。
成本與維護建議
- 圖片是典型的小檔案、高讀取量場景,儲存費通常不是大頭,流出流量才是重點;做熱門文章前先確認流量費用。
- 舊圖可以用生命週期規則定期轉為低頻存取,減少長期儲存成本。
- 定期備份一份到本機或另一個桶,圖床掛掉或誤刪時才有得救。
- 刪除文章時,順手檢查圖片是否還被其他文章引用,避免刪到共用圖片。
常見問題
圖片連結在文章裡打不開? 先確認桶策略已開放匿名讀取,再確認連結中的區域與桶名正確,最後用無痕視窗測試,排除登入狀態造成的誤判。
上傳成功,但文章顯示破圖? 多半是檔名有中文、空格或特殊字元,連結被編碼後對不上;改成英文檔名重新上傳最快。
圖片載入很慢? 先壓縮圖片,再看讀者所在地與桶區域是否差太遠;如果讀者分布很廣,下一篇會講 CDN 加速的做法。
小結
用 OBS 做圖床,核心就四步:建一個專用桶、用固定目錄上傳圖片、用桶策略開放匿名讀取、再用防盜鏈守住流量。流程跑通之後,寫文章時只要複製圖片連結就能用,換電腦、換平台都不怕圖片失效。
下一篇題目:用華為雲 CDN 為 OBS 圖床加速:自訂網域與 HTTPS 完整實戰
- 点赞
- 收藏
- 关注作者
评论(0)