UStackUStack
imgproxy icon

imgproxy

imgproxy 是自架式圖片處理伺服器,可即時調整尺寸、轉換與優化遠端圖片,透過 URL 變換交付圖片版本,且處理都在自有基礎架構上完成。

imgproxy

imgproxy 是什麼?

imgproxy 是一個獨立伺服器,可即時處理圖片。它會透過在圖片 URL 中加入處理參數,來對遠端圖片進行調整尺寸、裁切、旋轉、加浮水印、套用濾鏡與轉換,因此應用程式不需要事先預先產生每一種圖片版本。

它設計為在你自己的基礎架構上執行,並搭配你自己的圖片儲存系統使用。此產品提供開源核心專案,另有 Pro 版本,加入進階功能,例如更多處理選項、影片、PDF 與 Photoshop 文件的預覽產生,以及其他增強功能。

主要功能

  • 即時圖片調整尺寸與轉換 — 在請求時提供所需的精確圖片版本,而不是儲存大量預先建立的檔案。
  • 以 URL 為基礎的處理選項 — 直接在圖片 URL 中指定轉換與輸出格式,適合 CDN 與應用程式驅動的圖片傳遞流程。
  • 自架式部署 — 在你自己的伺服器或基礎架構上執行 imgproxy,而不是把圖片送到第三方 SaaS 服務。
  • 圖片請求安全控制 — 包含防護圖片 bomb、URL 簽章以防止未授權轉換,以及透過 HTTP header 進行授權,以協助保護快取傳遞路徑。
  • 廣泛的圖片處理支援 — 開源版本涵蓋調整尺寸、裁切、旋轉、浮水印、濾鏡、色彩設定檔移除、後設資料移除、PNG 量化,以及智慧裁切。
  • Open-core 與 Pro 功能分層 — 開源版本位於 GitHub,而 Pro 則加入進階壓縮、動態浮水印、影片預覽、物件偵測、進階智慧裁切及其他進階功能。

如何使用 imgproxy

一般設定會先在你自己的機器或主機環境上,以 Docker 映像檔或 Linux 套件安裝 imgproxy。接著,你可以把圖片上傳到儲存空間或讓它指向儲存中的圖片,依需求設定伺服器,然後透過在 URL 中加入轉換參數來請求已處理的圖片。

實務上,應用程式或前端會產生包含所需尺寸、格式與轉換設定的圖片 URL,而 imgproxy 會按需回傳處理後的結果。

使用情境

  • 網頁應用程式的響應式圖片傳遞 — 在請求時產生不同尺寸與格式的圖片,滿足需要多種版本的版面配置。
  • 私有基礎架構圖片處理 — 當你不希望把素材送到外部服務時,將圖片處理維持在自己的環境中。
  • 高流量圖片工作負載的成本控管 — 以自架伺服器取代代管圖片 SaaS,讓處理與擴充決策保持在你的控制之下。
  • 具安全要求的圖片處理 — 使用簽章 URL 與請求授權,降低濫用與未授權轉換請求。
  • 進階媒體工作流程 — 使用 Pro 功能處理影片預覽、PDF 或 Photoshop 文件預覽、進階壓縮與動態浮水印等任務。

常見問題

imgproxy 是自架式嗎? 是。來源將 imgproxy 描述為可在你自己的基礎架構上執行的自架式圖片處理伺服器。

我需要預先產生圖片版本嗎? 不需要。imgproxy նախատես透過 URL 參數即時處理與轉換圖片。

有開源版本嗎? 有。此產品採 open core 模式:開源版本發佈於 GitHub,另外也有封閉原始碼的 Pro 版本。

支援哪些格式與轉換? 來源提到常見格式如 JPEG、PNG、GIF、WebP、AVIF 與 JPEG XL,以及調整尺寸、裁切、旋轉、浮水印、濾鏡和多種優化功能。

imgproxy 如何部署? 它以 Docker 映像檔與 Linux 套件形式發佈,並設計為可在幾乎任何主機服務或本機電腦上執行。

替代方案

  • 其他自架式圖片處理器 — 類似工具,專注於在你自己的基礎架構內執行圖片轉換,通常有不同的設定模型或功能組合。
  • 代管圖片轉換服務 — 由 SaaS 平台代為處理調整尺寸與轉換,通常比自架式伺服器少一些營運控制權。
  • CDN 圖片調整尺寸功能 — 某些傳遞網路提供的邊緣圖片處理,可簡化部署,但可能不具備相同的處理深度或部署控制。
  • 自訂應用程式內圖片處理流程 — 直接建置在應用程式堆疊中的函式庫或服務,可能適合較小的工作負載,但需要更多應用端維護。
imgproxy | UStack