用華為雲 OBS 搭建個人圖床:從建桶、公開讀取到防盜鏈的完整實戰

举报
yd_219491735 发表于 2026/10/27 01:04:51 2026/10/27
【摘要】 用華為雲 OBS 從零搭建個人圖床:建桶與區域選擇、上傳命名規範、桶策略開放匿名讀取、防盜鏈守住流量費,以及成本與常見問題一次講清楚。

寫部落格、做筆記、經營技術文件時,圖片放哪裡常常是第一個麻煩:放在本機,換電腦就失效;放在免費圖床,連結說斷就斷,速度也不穩定。這篇文章就用華為雲物件儲存服務 OBS,從零搭建一個自己可控的個人圖床,從建桶、公開讀取到防盜鏈一次講清楚。

為什麼用 OBS 做圖床

圖床的本質,就是一個能穩定對外提供圖片連結的儲存空間。OBS 適合做圖床的原因有三個:第一,物件儲存按量計費,圖片量不大時成本很低;第二,支援多種儲存類別,冷熱資料可以分開放;第三,可以搭配桶策略、防盜鏈與 CDN,權限與速度都能自己掌控。

重要提醒:圖床桶裡只放打算公開的圖片,不要放身分證件、合約、帳號密碼截圖等任何私密檔案。公開桶的設定一旦開錯,檔案就等於對全網可見。

整體流程

  1. 建立一個專門放圖片的 OBS 桶。
  2. 上傳圖片,統一用 images/2026/10/檔名.png 這類目錄結構。
  3. 設定桶策略,開放匿名讀取,讓圖片連結可以直接在瀏覽器開啟。
  4. 設定防盜鏈,避免圖片被其他網站大量盜用,產生不必要的流量費。
  5. 需要更快、更好看的網域時,再接 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 完整實戰

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。