向 OpenResty Edge 閘道器推送靜態資源
今天我將展示如何在 OpenResty Edge 中使用靜態資源。使用 OpenResty Edge 提供靜態資源不需要回源。雖然回源的效能更高、更可靠,但不是必須的。
上傳靜態資源
讓我們進入 OpenResty Edge 的 Admin Web 控制檯。這是我們控制檯的樣本部署。每個使用者都有自己的本地部署。
首先將靜態資源上傳到 OpenResty Edge。
轉到全域性靜態檔案頁面。
建立一個目錄。
將其命名為 “test”。
點選建立。
可以看到剛剛建立的目錄出現在列表裡面。
點選進入該目錄。
現在來上傳檔案。
選擇檔案 “bird.jpg”。
儲存該檔案。
建立一個子目錄。
將它命名為 “images”。
點選建立。
進入子目錄。
上傳另一個檔案。
選擇檔案 “cat.jpg”。
儲存該檔案。
建立頁面規則使用靜態資源
檔案已經上傳,接下來讓我們來使用它們。
我們可以繼續使用之前的示例應用,test-edge.com。
進入該應用。
轉到頁面規則頁。
這裡有一個在之前的影片教程中建立的頁面規則。
現在建立一個新的頁面規則,該頁面規則將直接返回一個檔案。
我們啟用一個規則條件來檢查 URI 是否為 “/images/bird.jpg”。
運算子選擇 “String=”。
輸入值 “/images/bird.jpg” 來匹配這個靜態檔案。
開啟 “Content” 開關。
選擇一個我們剛剛上傳的檔案。
展開該目錄。
選擇圖片 “bird.jpg”。
選擇在現有的代理頁面規則之前插入這個頁面規則。
點選建立該規則。
像往常一樣,我們需要釋出來推送這個新改動。
點選這個按鈕。
釋出!
新版本現在已經同步到所有的閘道器伺服器上了。
測試
然後我們傳送一個 URI 為 “images/bird.jpg” 的 HTTP 請求。
可以看到返回了一個鳥的圖片,與預期結果相符。 在演示了返回檔案之後,接下來,我們對目錄進行說明。
轉到頁面規則頁。
編輯頁面規則。
運算子這裡選擇 “字首匹配”。
輸入值 “/images”,表示只會匹配這個路徑的靜態資源。
選擇我們剛剛建立的目錄。
“忽略 URI 字首” 允許請求的 URL 與實際資源的 URI 不同,這個功能我們會在後面演示。
儲存該規則。
像往常一樣,我們需要釋出來推送這個新改動。
點選這個按鈕。
釋出!
新版本現在已經同步到所有的閘道器伺服器上了。
傳送一個 URI 為 ”images/cat.jpg“ 的請求。
該請求返回一張存在於子目錄 ”images“ 中的貓的圖片。
如果我們請求 ”images/bird.jpg“,會發生甚麼呢?
可以看到該請求返回錯誤頁。這是因為在 ”images“ 子目錄中沒有 ”bird.jpg“ 這個檔案。 接下來,我們演示如何忽略 URI 的字首。
轉到頁面規則頁面。
編輯剛才的頁面規則。
仍然使用 ”test“ 目錄。
這裡選擇忽略 ”String“。
輸入 ”/images/“。
儲存該規則。
像往常一樣,我們需要釋出來推送這個新改動。
點選這個按鈕。
釋出!
新版本現在已經同步到所有的閘道器伺服器上了。
傳送一個帶有 “/images” 字首的請求。
該請求返回了一張鳥的圖片。
然後我們請求子目錄 “images” 中的圖片。
請求返回了一張貓的圖片。
然後我們傳送一個帶有 “/no” 字首的不存在的資源的請求。
可以看到返回了錯誤頁。
這就是我今天想講的內容。
關於 OpenResty Edge
OpenResty Edge 是一款專為微服務和分散式流量架構設計的全能型閘道器軟體,由我們自主研發。它集流量管理、私有 CDN 構建、API 閘道器、安全防護等功能於一體,幫助您輕鬆構建、管理和保護現代應用程式。OpenResty Edge 擁有業界領先的效能和可擴充套件性,能夠滿足高併發、高負載場景下的苛刻需求。它支援排程 K8s 等容器應用流量,並可管理海量域名,輕鬆滿足大型網站和複雜應用的需求。
如果你喜歡這個教程,請訂閱這個部落格網站和我們的 YouTube 頻道 或 B 站頻道。謝謝!
關於作者
章亦春是開源 OpenResty® 專案創始人兼 OpenResty Inc. 公司 CEO 和創始人。
章亦春(Github ID: agentzh),生於中國江蘇,現定居美國灣區。他是中國早期開源技術和文化的倡導者和領軍人物,曾供職於多家國際知名的高科技企業,如 Cloudflare、雅虎、阿里巴巴, 是 “邊緣計算“、”動態追蹤 “和 “機器程式設計 “的先驅,擁有超過 22 年的程式設計及 16 年的開源經驗。作為擁有超過 4000 萬全球域名使用者的開源專案的領導者。他基於其 OpenResty® 開源專案打造的高科技企業 OpenResty Inc. 位於美國矽谷中心。其主打的兩個產品 OpenResty XRay(利用動態追蹤技術的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最適合微服務和分散式流量的全能型閘道器軟體),廣受全球眾多上市及大型企業青睞。在 OpenResty 以外,章亦春為多個開源專案貢獻了累計超過百萬行程式碼,其中包括,Linux 核心、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,並編寫過 60 多個開源軟體庫。
關注我們
如果您喜歡本文,歡迎關注我們 OpenResty Inc. 公司的部落格網站 。也歡迎掃碼關注我們的微信公眾號:
翻譯
我們提供了英文版原文和中譯版(本文)。我們也歡迎讀者提供其他語言的翻譯版本,只要是全文翻譯不帶省略,我們都將會考慮採用,非常感謝!