CDN教學大公開!如何在不改任何程式碼的情況下,進行cache住指定副檔名的檔案?透過本篇的 CDN 教學,讓您快速在Google CDN 快取指定某個副檔名的檔案!
目錄
目錄
CDN 教學入門:基本概念與工作原理及特點
在進入實際 CDN 教學 之前,必須先理解 CDN 的核心概念與運作方式。CDN(Content Delivery Network,內容傳遞網路)透過全球分佈的節點伺服器,將網站資源預先快取在距離使用者最近的地理位置,讓瀏覽者獲得更快的存取速度。CDN 的工作原理
- 使用者發出資源請求(例如訪問網頁圖片或影片)。
- DNS 將請求導向最近的 CDN 節點,而不是原始伺服器。
- CDN 節點若已有快取,直接回應資源;若沒有,才向源站請求並快取下來。
- 下一次有其他使用者請求相同資源時,即可直接由 CDN 節點回應。
CDN 的主要特點:
- 降低延遲:縮短資料傳遞距離,提升載入速度。
- 減輕伺服器負載:大量靜態資源由 CDN 承擔,源站壓力大幅降低。
- 提升穩定性:即使某個伺服器發生故障,其他節點也能提供服務。
- 增強安全性:具備 DDoS 防護、HTTPS 加速與安全憑證整合功能。
為什麼要設定副檔名快取?深入解析效能與實務需求
在 CDN 教學 實務中,「副檔名快取」是影響效能的重要因素。不同類型檔案的快取策略應有所區隔,否則可能造成效能不彰或浪費資源。 常見檔案類型與快取建議:- 圖片與影片(.jpg、.png、.mp4、.gif):適合長時間快取,因為內容變動頻率低。
- CSS、JavaScript:可快取較長時間,但若有更新需透過版本號或檔名控制。
- API 回應、動態頁面(.php、.asp、.json):快取時間宜縮短,以確保數據即時性。
- 檔案下載(.zip、.pdf、.docx):可長時間快取,減少頻寬消耗。
事前準備
- 建立 VM,本示範是使用 CentOS 7。
- 建立一組 Instance Group (VM數量可依照您的需求而定),並套用在 HTTP(S) Load Balancer 上
CDN 教學解決方案
在事前準備項目都準備就緒後,我們就動手來實做將指定副檔名的檔案進行快取的事項吧。 ( Load Balancer 的建立,不在此篇描述) 1. 首先,將先前建立好的 GCP HTTP(S) Load Balancer 的 Backedn service 中 開啟 Cloud CDN 功能
2. SSH到 CentOS VM 主機內,安裝網頁伺服器套件
yum install httpd -y
![]()









設定錯誤排查:Google CDN Cache 沒作用怎麼辦?
在實際操作過程中,即使照著 CDN 教學 設定,仍可能遇到 Google CDN Cache 沒生效的情況。以下是常見排查方向:常見問題
- 快取規則未正確設定:副檔名或路徑未被包含。
- HTTP Header 衝突:源站設定了 no-cache 或 private,導致 CDN 無法保存。
- 來源伺服器回應不允許快取:例如未設置 Cache-Control: public。
- 測試方式錯誤:僅透過瀏覽器觀察,未使用正確工具檢查。
排查方法
- 使用 curl -I <URL> 查看 HTTP 標頭,檢查快取相關資訊。
- 在 Google Cloud Console 的 CDN 設定頁面確認快取規則是否正確套用。
- 嘗試清除快取或重新部署資源,確保最新設定生效。
最佳做法
- 明確規劃不同副檔名的快取時間。
- 使用版本化檔名(如 style.v2.css)避免快取混淆。
- 定期測試快取效果,確保 CDN 確實減少回源次數。
CDN 教學FAQ 常見問題
Q:什麼是 CDN?為什麼在網站優化中這麼重要?
CDN(Content Delivery Network)是一種透過全球節點加速網站內容傳輸的技術。它能將圖片、CSS、JavaScript、影片等靜態資源分散到不同伺服器,讓使用者從最近的節點取得資料,大幅降低延遲與等待時間。Q:為什麼要設定副檔名快取?
設定副檔名快取可以幫助 CDN 更有效率地分辨哪些檔案需要被快取,哪些檔案則必須即時回源。 常見做法包含:- 圖片(.jpg、.png、.webp) → 適合長時間快取
- CSS 與 JavaScript → 中長時間快取,但要注意版本控制
- HTML → 通常建議不快取,以確保頁面內容更新即時呈現
Q:Google CDN Cache 沒作用怎麼辦?
如果遇到 Google CDN Cache 沒有發揮效果,可以透過以下排查:- 確認快取規則是否設定正確(是否針對副檔名或目錄配置)。
- 使用 curl -I 或 Chrome 開發者工具查看回應標頭(Cache-Control、Age 等欄位)。
- 檢查是否有 CDN 與瀏覽器快取規則衝突。
- 確認檔案是否正確同步上傳至 Google Cloud Storage 或後端伺服器。
Q:瀏覽器快取和 CDN 快取有什麼差別?
- 瀏覽器快取:快取儲存在使用者的裝置上,適合短時間加速,但受限於瀏覽器設定與快取清除。
- CDN 快取:快取分散在全球節點,所有使用者都能受益,適合大規模分流S與高流量網站。
Q:三大雲端平台(GCP、AWS、Azure)的 CDN 有什麼差異?
三大平台的 CDN 都能提供全球節點、SSL、快取設定,但細節仍有差異:- Google Cloud CDN (GCP):整合度高,對使用 GCP 其他服務的開發者最友善。
- AWS CloudFront:節點最多,功能彈性高,但設定較複雜。
- Azure CDN:對微軟生態系統使用者便利,價格與功能兼顧。
CDN 教學總結
如此一來,以上方法即可根據您指定的副檔名類型,進行 CDN Cache 了,是不是很方便呀? 趕快來試試看吧! 想了解更多 GCP 的隱藏版實用功能,請持續鎖定宏庭架構師專欄,讓您新知訊息接不完喔!延伸閱讀
Cloud VPN建置:以GCE串接Azure Active Directory為例(Part 1) Cloud VPN建置:以GCE串接Azure Active Directory為例(Part 2) Cloud VPN建置:以GCE串接Azure Active Directory為例(Part 3)常見問題 FAQ
CDN 教學:如何讓 Google CDN Cache 指定 適合哪些類型的企業?
GCP 上目前較常見的 Google CDN Cache 方法就是將媒體檔案、圖片檔案、物件檔案放在 Cloud Storage 上,並再將指定的 Bucket。
導入 CDN 教學:如何讓 Google CDN Cache 指定 需要多少時間?
導入時程依企業規模與系統複雜度而定,建議先進行完整評估與規劃,確保順利上線。
CDN 教學:如何讓 Google CDN Cache 指定 有哪些常見問題需要注意?
主要注意事項包含權限設定、資安配置與成本控管,Microfusion 宏庭科技提供專業顧問支援。