簡體   English   中英

Azure CDN清除不刷新緩存的內容

[英]azure cdn purge not refreshing cached content

我有一個連接到Blob存儲的Azure CDN(Verizon,高級版)。 根據本教程的第6步,我有2條規則。 這些規則旨在在調用CDN的根時強制CDN提供“ index.html”。 它們可能與該問題相關,也可能與該問題無關,但是在步驟6中對其進行了如下描述:

  1. 確保下拉菜單顯示“ IF”和“ Always”
  2. 單擊“功能”旁邊的“ +”按鈕兩次。
  3. 將兩個新創建的下拉菜單設置為“ URL Rewrite”
  4. 將所有源和目標下拉列表設置為您創建的端點(具有端點名稱的值)
  5. 對於第一個源模式,設置為((?:[^ \\?] /)?)($ | \\?。
  6. 對於第一個目標模式,設置為$ 1index.html $ 2
  7. 對於第二個源模式,設置為((?:[^ \\?] /)?[^\\?/.]+)($ | \\ ?.
  8. 對於第二個目標模式,設置為$ 1 / index.html $ 2

我最初將文件上傳到Blob存儲,能夠通過CDN命中它們(證明上述規則正常工作),然后更改了本地文件(調試)以上傳到Blob存儲。 在更新了Blob存儲上的所有文件並手動選中“全部清除”選項后清除CDN端點后,CDN為我提供了舊文件,而直接訪問Blob存儲時為我提供了新文件。 似乎每個文件都會發生這種情況(即使直接擊中文件,而不僅僅是index.html)。 等待約10小時,清除瀏覽器緩存並嘗試使用以前從未使用過的訪問CDN的瀏覽器后,仍然會發生這種情況。

有人知道會發生什么嗎? 它緩存在我的網絡和CDN端點之間的某個位置嗎? 我覺得我可能缺少一些非常簡單的東西...

編輯1:我有另一個Verizon(非高級)CDN連接到相同的存儲容器,並且它在清除后會拾取正確的文件; 但是,即使現在(24小時后),高級CDN也不提供更新的文件。

編輯2:稱為Microsoft對Azure的支持,他們花了大約6個小時進行調查,但無濟於事。 我們最終再次嘗試清除,現在已發送更新的文件。 仍然不確定是什么問題。

在與Microsoft和Verizon Digital Media支持人員合作數周之后,他們終於找到了解決方案。

為了避免干擾清除過程,最簡單的方法是在規則的“功能”部分之前實現以下“ IF”語句:

IF | 要求標題通配符| 姓名| 用戶代理| 不匹配| 價值觀| ECPurge / * | 忽略大小寫(已選中)

對於使用清除用戶代理發出的請求,此if語句將完全跳過此規則,從而允許該請求正常訪問CDN。

我還發現,如果您分別清除每個文件,例如,清除時將/css/main.css放在“內容路徑”中,而不是“全部清除”,它將起作用

現在一切正常嗎? 我發現您的規則可能比您需要的更為復雜。 如果目標只是將根“ /”重寫為/index.html,則這是您唯一需要的規則:

如果始終是URL重寫-來源:“ /”; 目標“ /index.html”

10/14/2019-使用類似的設置(Azure CDN / Blob-Static-Site / Verizon),我也遇到了緩存問題。 我碰巧只有1個URL重寫規則。 對我來說解決的是設置有關緩存/最大年齡的后續規則。

這是我的操作方式:Azure門戶-> CDN配置文件->單擊您的配置文件(“概述”部分)

  1. 單擊概述中的管理圖標(在詳細信息部分/刀片中)。 這將打開瘋狂的Verizon頁面。
  2. 將鼠標懸停在“ Http Large”上,然后單擊“規則引擎”
  3. 在文本框中輸入名稱/描述。 例如:“強制緩存刷新”
  4. 保留如果/始終處於選中狀態
  5. 點擊功能旁邊的“ +”按鈕
  6. 在出現的新下拉列表中,選擇“強制內部最大年齡”(保留200作為響應)
  7. 在字段中輸入一個合理的*值(以秒為單位)。 (例如300)
  8. 點擊黑色的添加按鈕

它說此規則可能需要4個小時才能生效,對我來說大約是2個小時。

最后,對於這種方法,規則的順序應該無關緊要,但是對於上面的重寫規則,請記住,規則確實允許您優先上下移動它們。 對我來說,我有,Https首先重定向,URL重寫(對於“ React-routing”)第二。 最后,最后強制緩存刷新。

*注意:這是一個平衡,因為清除對我不起作用,您希望在發布后更新靜態(應用程序/站點),但是您也不希望有大量不必要的流量來刷新緩存。 對於我的開發服務器,我安頓了5分鍾。 我認為制作將需要1個小時...尚未決定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM