之前釋出了一篇《CDN 的下一站是啥?邊緣計算!》,主要講解了邊緣計算的概念及作用。我們來簡單回顧下:邊緣計算主要是將資料的處理、應用程式的執行,甚至一些功能服務的實現,由中心伺服器下放到網路的邊緣節點上。
和邊緣計算一樣,邊緣規則(EdgeRules)也將一些網站常用功能直接放到邊緣節點上,將業務邏輯轉移到邊緣網路,在邊緣節點上完成一些業務邏輯和網站功能的處理。這減少了業務伺服器到內部服務端的請求消耗,無形當中降低了源站頻寬消耗,節省了成本,為終端使用者帶來更好的訪問體驗。下面來簡單瞭解下又拍雲邊緣規則。
What's EdgeRules?
又拍雲邊緣規則(EdgeRules)的前身叫作自定義 Rewrite 功能,又拍雲在 2017 年將該功能統一升級。邊緣規則是又拍雲基於 Rewrite 開發的可擴充套件應用程式,它充分利用又拍雲 CDN 分散式邊緣網路的效能及規模,通過邊緣網路中的智慧可擴充套件應用程式規則簡化內容分發業務邏輯,並提升終端使用者訪問體驗。
升級之後的邊緣規則在使用方面,新增了【通用模式】,規則的編寫將會更加簡單方便;在管理方面更加方便、靈活,介面同時展示了優先順序、規則名稱、狀態等欄位;在【通用模式】下,根據使用場景劃分了幾大功能,包括:新增/刪除 HTTP 頭部、自定義錯誤頁面、邊緣重定向、URL 改寫、訪問控制、請求限速等。
△ 邊緣規則常見業務場景
邊緣規則部署迅速且配置簡單,可極大降低業務實現成本。通過強大的邊緣規則集,充分利用 CDN 邊緣網路的規模和效能,您可以自定義編寫規則來滿足常用的業務場景,隨心所欲。
Advantages of EdgeRules
邊緣規則中的 URL Rewrite 是非常有用的一個功能,它可以讓你提高搜尋引擎閱讀的能力;而且在改變了網站連結後,不會影響使用者收藏的書籤,也不會影響合作網站的友情連結;同時它還可以提升網站安全性,讓網站更專業,更易於使用。
- URL 美化,提升網站 SEO
如果您正在設計個人網頁或者重新設計公司網站,想提高網站的知名度,應該將網站的 URL 轉換為使用者友好的 URL,或搜尋引擎友好的 URL。這時邊緣規則就可以上場了,它可以配合網站將動態 URL 轉換為語義 URL(Semantic URL),以改善搜尋引擎索引編制,從而提高 SEO 排名,也美化了 URL。
△ 邊緣規則提升網站 SEO
哪些 URL 是語義 URL 呢?通過如下舉例來進行說明。首先來看一下搜尋引擎比較厭煩的 URL:
http://example.com/pay/25/8/...
很明顯,當你看到這樣的 URL 時,根本弄不清楚當前看到的是那個產品的資訊。所以,我們有必要將 URL 改成以下形式的連結:
http://example.com/pay.php?payid=25&categoryid=8...
可以看到轉換之後的 URL 的內容一目瞭然,這類 URL 就是語義 URL。
改寫之後就更好的滿足了搜尋引擎的要求。某些搜尋引擎不能支援動態頁面的抓取,大量的資訊就不能被使用者搜尋到。因此應用語義地址是很有必要的,它更易於被搜尋引擎所收錄。
- 降低源站頻寬消耗,提升終端使用者體驗
一些網站的管理員更希望網站的業務邏輯可以放在雲端來進行計算和處理,直接在 CDN 邊緣網路中來執行這些重寫邏輯,避免對源站來回提出請求,一方面可以提升使用者體驗,另一方面可以減輕源站壓力。比如下列業務需求:
- 請求重定向
- 請求禁止
- HTTP 頭部修改
- 請求限速策略
以上這些業務邏輯的處理,都可以通過又拍雲邊緣規則來實現。這樣減少了業務伺服器到內部服務端的請求消耗,無形中降低了源站頻寬消耗,節省了成本。這也是邊緣規則的優勢之一。
- 提升網站安全性
在網站開發過程中,經常會遇到一些帶了一大堆引數的 URL,像老太太的裹腳布一樣——又臭又長;這對於有強迫症的程式設計師來說,簡直是噩夢一般的存在。同時一些資訊引數會直接暴露在 URL 上,存在安全性問題。有些網站掛著 .asp / .jsp 開發語言的標記,讓人一眼就看出使用什麼語言開發的。這種情況,我們就可以自定義邊緣規則對 URL 進行重寫,它可以使帶有引數的 URL 以一種較規則的方式體現。
例如:
/exampleAction?id=1 重寫成 /example1.html
邊緣規則將本該在 URL 上顯示出來的傳送引數進行隱蔽,隱藏了技術實現和敏感資訊,提高了網站的安全性,避免讓網路上的惡意使用者收集有利於發動攻擊的資訊。同時縮短了 URL,讓使用者更容易理解,更易於記憶和鍵入。
- 配置簡單,快速部署,簡化操作,降低定製成本
在又拍雲控制檯(服務管理 -> 功能配置 -> 邊緣規則),您可以即時修改和部署邊緣規則;在不修改任何應用程式程式碼的前提下,規則可以在幾秒內快速下發到所有的邊緣網路中。
同時又拍雲邊緣規則支援“測試”模式,測試中,規則只會對本地客戶端 IP 生效。當且僅當測試滿足業務要求之後,可以將規則調整為啟用狀態。
在使用方式方面,邊緣規則支援【通用模式】和 【程式設計模式】。在 【通用模式】下,可以通過視覺化介面進行規則新增,降低了使用門檻,也加快了常用規則的編寫速度;而技術大牛在熟悉了函式及變數的含義以及使用方法後,可以通過強大的邊緣規則集針對需求編寫規則和除錯,體驗程式設計的樂趣,編寫業務所需的獨特功能。
又拍雲邊緣規則將網站業務邏輯轉移到 CDN 邊緣網路,在很大程度上降低了特殊業務定製所消耗的時間,進而加快了定製業務的上市時間。
How to Configure
這裡以【URL 改寫】為例,進行相關介紹。
示例:目錄及引數改寫
將請求 URL 轉換為帶引數的動態 URL,例如請求的 URL 為:
需要 CDN 邊緣節點轉換為如下請求:
http://example.com/pay.php?payid=25&categoryid=8…
這個時候,pattern 部分需要提取目錄數字,需要生成 $1 和 $2 這樣的變數,如下規則所示:
"rule": "/pay.php?productid=$1&categoryid=$2",
"pattern": "^pay/([0-9]+)/([0-9]+)/(.*?).html$"
規則釋義:當解析的 URL 符合規則 ^pay/([0-9]+)/([0-9]+)/(.*?).html$,那麼將請求導向到/pay.php?productid=$1&categoryid=$2
也即將 http://example.com/pay/25/8/...轉換為 http://example.com/pay.php?payid=25&categoryid=8…
應用場景:通過將動態 URL 轉成語義 URL,可以改善使用者體驗和 SEO。
△ URL 改寫配置
又拍雲 EdgeRules 支援“通用模式”和“程式設計模式”,不論是“小白黨”或者“技術大神”都可以輕鬆上手 。部署快速,配置簡單,強勁的邊緣平行計算能力及豐富的控制函式,讓您享受 CDN 速度的同時有操作源站般的快感。
推薦閱讀:
CDN 的下一站是啥?邊緣計算