iT邦幫忙

2025 iThome 鐵人賽

DAY 13
0
Security

導入CDN防護大作戰系列 第 13

【Day13】平台快取維護設定邏輯

  • 分享至 

  • xImage
  •  

次日,顧問準備跟Jerry說明,要如何透過CDN平台上的機制來完成快取設定。

Jerry疑惑著問,不是應該請AP人員來設定嗎?

顧問說,理論上是這樣沒錯,但最近相處下來我感覺最後一定就是你跟我來設定了。

不過你也別擔心,初步的設定一定是我會來協助完成,但需要你幫忙跨部門溝通。

但有一件事你一定可以要求他們做,就是清除快取!!

Jerry苦笑著回答,是喔!! 好啦,開始今天的主題吧~~

PROPERTY MANAGER設定邏輯

Property Manager 是一個Akamai提供CDN設定的平台工具,裡面的設定百百種,今天只說明跟快取相關的,細節等上線後我再一一跟你說明。

當你啟用一個站台的設定後,預設會提供給你一個Default的快取設定樣板(Template),每個設定樣板中都會有許多的Rule。

https://ithelp.ithome.com.tw/upload/images/20250926/20042779DdmBF2QATm.png

這樣的好處是你可以知道有那些快取的分類跟細節,對於新手來說非常的方便,用不到的再刪除就好。

Rule設定邏輯

規則設定的方式,首先要先決定匹配的條件(Match Condition),然後就是匹配要進行的動作(Behavior)。

https://ithelp.ithome.com.tw/upload/images/20250926/20042779cbpMaHPOIp.png

-Match Condition
匹配的功能是用來決定適用的條件。例如,您可能希望根據 IP 位址拒絕特定使用者的存取?或者過濾來自行動裝置的請求以提供替代內容?

  • 透過如果是 / 如果不是的判斷邏輯,來識別特定類型的請求或回應,例如:

    -匹配條件,當副檔名為css或js時
    https://ithelp.ithome.com.tw/upload/images/20250926/20042779CmeyLPnrD8.png

  • 可以使用單一符合項目或多個符合項目的組合來建立不同的邏輯,例如:

    -匹配條件,當副檔名為css或js時,或是當PATH不是 /images時
    https://ithelp.ithome.com.tw/upload/images/20250926/20042779ZsxyBxVjrd.png

  • 可配置區分大小寫選項,並使用萬用符號(*)來提高匹配靈活性。

    -匹配條件,當PATH為任意路徑下的images目錄下所有物件時
    https://ithelp.ithome.com.tw/upload/images/20250926/200427799g32tqaoUM.png

-Behavior
行為是當滿足匹配條件時可以執行的動作。例如,將使用者HTTP請求重新導向至HTTPS,或是修改Request Header

  • 例如,設定cache的屬性
    https://ithelp.ithome.com.tw/upload/images/20250926/20042779KRaggJ8VKG.png

  • 例如,允許POST,但不能沒有Content-Length這欄位
    https://ithelp.ithome.com.tw/upload/images/20250926/20042779BawPUfjIoh.png

由上到下的讀取,以最後一筆為優先

Property Manager 會由上到下的讀取設定,因此當有重覆的設定時,以最後一筆為優先。

當Rule中有Behavior時但未有條件設定時,則所有情境皆符合,因此要注意此部分細節。

簡單的說,PROPERTY MANAGER規則跟防火牆規則不同,會把所有設定檔讀取完成才確認要佈署的動作。

以下圖為例,設定了只要是任意路徑下的images目錄下所有物件,要快取一天

https://ithelp.ithome.com.tw/upload/images/20250926/20042779syicwxhAAS.png

但最後一條又設定沒有匹配條件,設定快取為no store ,由於最後一筆是無條件no store,所以所以全站物件都是no store喔!!

https://ithelp.ithome.com.tw/upload/images/20250926/20042779I4nEYKScvL.png

不過也別太擔心,這個情況大多都是維護人員不只一個,大家各自維護自己的規則,沒人完整確認所有規則才會這樣。不過你們家不會啦,不是你就是我,哈!!! Jerry翻了個大白眼~~~~

清除快取

以下是清除快取的介面,針對Purge content by的條件說明一下:

https://ithelp.ithome.com.tw/upload/images/20250926/200427795GvUfdCjaa.png

-URLs :就是物件的路徑,輸入時要滿足以下條件

-CP Codes :CP Codes是Akamai 針對用戶服務站台的唯一識別碼,用來計費或是維運設定等用途。若點選這個選項將導致這個站台所有在CDN主機上的快取全部清除,不建議用這個非常危險啦!!

-Cache Tags :針對具巨量且有檔名規則性的物件,可以透過加入快取標籤後,再利用這個快取標籤清除,速度會很快。

-Cache Keys / ARLs :Akamai Resource Locator(ARL)也稱為快取索引鍵,是Akamai系統用來定義物件快取屬性,用URL清不掉的可以用這個。

-Directory and Extensions :要清目錄下的所有快取,要用這個選項。

無效 ( Invalidate ) vs 刪除( Delete )

Jerry問說 Purge Method有兩個耶,有什麼差別?

-無效 ( Invalidate )
選擇此方法可將快取的內容標記為無效。下次Akamai的邊緣伺服器收到對該內容的請求時,它會向您的源站伺服器發送一個HTTP條件獲取(If-Modified-Since)請求。如果內容發生了變化,您的源站伺服器會返回一個完整的新副本。否則,您的源站伺服器通常會回應說內容沒有變化,邊緣伺服器可以提供已經快取的內容。

-刪除( Delete )
選擇這種方法意味著目前在Akamai邊緣伺服器快取中的內容永遠不會被提供。當邊緣伺服器下次收到對該內容的請求時,它會從您的源站伺服器中檢索最新版本。如果邊緣伺服器不能檢索到最新的版本,它就會按照您的邊緣伺服器配置中的指示進行操作。

簡單的說,你選刪除就無論如何都要回源站要新的物件,如果物件非常多,當下的頻寬資源會消耗比較多。

但如果選Invalidate,CDN肚子還會有舊的,然後透過先前講If-Modified-Since去問有沒有新的,對源站資源比較緩和。

一開始,你先請AP同仁優先用URLs這個選項,只要輸入要清除的物件路徑即可,其他太危險了,有需要請我們做。


上一篇
【Day12】快取機制
系列文
導入CDN防護大作戰13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言