主機是別家的可以用 Cloud CDN 嗎? 一招教你客製外部來源!

cdn-external目前 Cloud CDN 雖然尚未支援 GCP 以外的來源(external origin),但我們可以在 HTTP(S)負載平衡器 (HTTP(S) Load Balancer) 的後端服務 (back-end services) 採取由 GCE VM 自建 Reverse Proxy 的方式提供原站的檔案給 Cloud CDN 讀取,便可快速的享用 Google 強大全球網路下的 CDN 服務。Reverse Proxy 的 VM 規格可使用 n1-standard-1,搭配 Linux 作業系統安裝 Nginx 或 Apache,建議後端 instance group 群組至少兩台避免 SPOF,  以下提供 Nginx 對於網站圖片,CSS 與 JS 的範例設定檔如下:

upstream assets {
       server 35.46.57.68:80;
}
server {
       listen 80;
server_name assets.gcp.expert;
       location ~* \.(?:jpg|jpeg|gif|png|ico|svg|svgz|css|js)$ {
               add_header Cache-Control “public”;
               expires 86400;
               proxy_pass http://assets;
               proxy_set_header Host $host;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
}

 

其中 upstream 的內容請修改為您的伺服器 IP/Domain Name 資訊,expires 值為Cloud CDN 上的快取時間。進階的CDN快取設定如對於通訊協定, 主機名稱或網址參數(URL query string) 快取,皆可透過快取金鑰 (cache keys) 的設定完成。其中在網址參數可指定白名單與黑名單作為 CDN 認定 URL 是否為同一個資源的判斷,可參考 https://cloud.google.com/cdn/docs/using-cache-keys

至於 Cloud CDN 內建於 HTTP(S)負載平衡器上的功能,資源是否能被 Cloud CDN 快取的詳細限制請參考 https://cloud.google.com/cdn/docs/caching#cacheability

 


iKala - GCP 專門家

GCP 專門家,Google Cloud 首席合作夥伴暨代理商,協助逾 200 家企業使用 Google Cloud,客戶廣布遊戲、媒體、數據廣告、電商、金融等多種產業。我們擁有超過 30 位技術人員,更通過 Google 原廠雲端架構師及資料工程師認證,具備第一手 GCP 產品開發及導入經驗,能提供您紮實的客製化技術服務。

我們提供了多項的 GCP 加值服務:

了解更多: https://gcp.expert/
加入我們: https://goo.gl/rg9D3Q
Facebook Fan Page: https://www.facebook.com/gcp.expert/
聯絡我們:+886 2 87681110 或請來信 gcp@ikala.tv