Home 技術文章 爲您的線上業務配置邊緣
Applications

爲您的線上業務配置邊緣

About The Author

Outline

摘要

EdgeCast (現爲Edgio)爲媒體公司和全球企業提供邊緣解決方案。 Edgio的高質量交付,計算,安全和流處理解決方案構建在我們領先的全球邊緣網路之上,能夠支援並保護一些世界上最大的網站,應用程式和OTT服務。 我們瞭解可配置性和靈活性對客戶的重要性,這就是爲什麼我們提供了大量的技術來控制客戶的原因。 規則引擎只是其中的一個例子。

Edgio的規則引擎允許自定義我們的邊緣網路處理請求的方式。 預設情況下,Edgio會尊重從客戶來源發送的所有標頭。 但是,根據內容和客戶使用案例,可能需要自定義規則來覆蓋原始伺服器的預設行爲。 規則引擎及其關聯的API提供了極大的靈活性和可配置性。 它們使客戶能夠以無與倫比的精確性控制其內容交付和安全需求。 在本文中,我們將深入探討一些常見的使用案例,並確定使用規則引擎中定義的各種規則所帶來的好處。

規則引擎功能

規則引擎包含許多重要功能,每個功能都定義了要應用於由一組匹配條件標識的請求的操作類型。 匹配條件標識將對其執行一組功能的特定類型的請求。 讓我們首先看看客戶可用的功能類型。 這些功能可自定義我們的邊緣網路如何管理對其內容的請求。

訪問: 這些功能控制對內容的訪問。 例如,令牌驗證功能確定是否將基於令牌的驗證應用於請求。 這有助於將對數據,文件或頁面的訪問限制和鎖定爲只有具有適當權限的訪問權限。 這可防止內容或資訊與未經授權的用戶共享。 其他訪問控制包括國家/地區/地理位置。

				
					<rule>
   <description>Enable Token Auth</description>
   <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
      <feature.access.token-auth enabled="true"/>
   </match.request.edge-cname.literal>
</rule>
				
			

快取: 這些功能可自訂內容快取的時間與方式。 Rules Engine提供數十種暫存功能,幫助您微調邊緣處理內容的方式。 例如,部分高速暫存共享(PC)指示部分高速暫存的文件是否可以在後續請求中作爲高速暫存命中開始,或者在從邊緣提供文件之前是否需要完全高速暫存。 啓用後,PC有助於減少源站負載並提高性能。 這意味着對源內容發出的源伺服器請求較少,這可能導致主機/源伺服器的帶寬開銷較小。 同時,優化高速暫存可幫助提高性能,方法是儘可能從CDN邊緣提供內容。

				
					<rule>
   <description>Enable Partial Cache Sharing</description>
   <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
      <feature.caching.partial-cache-sharing enabled="true"/>
   </match.request.edge-cname.literal>
</rule>
				
			

標頭: 這些功能可即時處理請求和/或響應標頭。 例如,修改客戶端請求標頭使用戶能夠覆蓋,附加或刪除請求中的標頭。 用戶可以通過自定義從客戶端發送或從伺服器接收的數據來控制其網站和應用程式的行爲。

				
					<rule>
    <description>Add CORS Header</description>
    <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
        <feature.headers.modify-client-response-header action="set" name="access-control-allow-origin" value="*"/>
    </match.request.edge-cname.literal>
</rule>
				
			

日誌: 在基於UI的分析套件中,可以生成原始日誌,實時日誌和自定義日誌,以便深入(或360度)查看CDN和安全流量佔用情況。 這些功能可自定義存儲在原始日誌文件中的數據。 例如,掩碼客戶端子網確定是否爲了記錄和報告目的而屏蔽客戶端的IP地址。 這有助於遵守《通用數據保護條例》(GDPR)。 我們使用實時日誌交付來支援Plus500,這是一家全球金融科技公司,使他們能夠更快,更安全地發佈軟體。

源伺服器: 這些功能控制CDN與源伺服器通信的方式。 例如,”最大保持活動請求數”定義了保持活動連接關閉前的最大請求數。 這將減少請求所需的TCP身份驗證步驟的數量,從而有助於邊緣性能。

特色: 這些功能提供了高級功能,用於CDN如何與源站或客戶端配合使用。 例如,通過切換QUIC規則,您可以指示客戶是否被告知我們的CDN服務支援QUIC。 通過這樣做,Edgio可以提供優化的網頁,使其發揮最佳性能。

				
					<rule>
    <description>Enable QUIC</description>
    <match.request.edge-cname.literal hostnames="origin.example-edgecast.com">
        <feature.specialty.quic enabled="true"/>
    </match.request.edge-cname.literal>
</rule>
				
			

User Variable (用戶變量): 爲傳遞給定製流量處理解決方案的用戶定義變量分配一個值。 這通常用於我們的自定義後端腳本語言(LUA)。 其中一個好處是,它使用戶能夠將用戶定義的變量注入靜態配置,以控制用於伺服器負載平衡的後端。

規則引擎功能/優點摘要。

使用案例

將HTTP重定向到HTTPS: 如果您不強制使用TLS的網站或應用程式流量,訪問者將在其瀏覽器中看到可怕的安全警告彈出窗口。 網站訪客知道,不安全的網站容易受到攻擊,可能會竊取其資訊。 安全站點會激發信任。 它讓訪客知道您正在爲保護他們的個人數據盡一份心力。 HTTPS是確保全員全性和可訪問性的關鍵,使用Rules Engine可以輕鬆地從HTTP重定向到HTTPS。 Edgio還通過SSL的密鑰庫集成提供完全託管的安全套接字層(SSL)和自帶證書(BYOC) SSL。

瞭解訪客的地理位置和設備類型: 企業可以通過了解他們的Web財產訪客來自何處以及使用何種類型的設備來獲得豐富的智能。 使用規則引擎,可以添加自定義日誌欄位,以便深入瞭解請求的地理位置和所使用的設備類型。 HTTP變量使此操作變得簡單,並允許將這些度量添加到原始日誌中。 這將創建更全面的日誌記錄,內部報告,監控,見解和故障排除。

此外,URL重定向功能使企業能夠根據最終用戶的地理區域將請求重定向到不同的URL。 這對於維持其網站的不同區域版本(例如不同語言和主題)的跨國公司來說尤其有用。

				
					<rule>
   <description>Language Redirect</description>
   <select.first-match>
       <match.location.country.literal result="match" codes="US">
           <feature.url.url-redirect source="/80666BA/Origin1/(.*)" destination="%{scheme}://www.example-edgecat.com/us/$1" code="301"/>
       </match.location.country.literal>
       <match.location.country.literal result="match" codes="DE">
           <feature.url.url-redirect source="/80666BA/Origin1/(.*)" destination="%{scheme}://www.example-edgecat.com/de/$1" code="301"/>
       </match.location.country.literal>
   </select.first-match>
</rule>
				
			

另一個地理用例與固件下載相關。 通常,全球分佈式客戶只需一個URL即可下載固件。 但是,這些請求需要從最近的區域伺服器中提取,以獲得更好的最終用戶體驗,並確保伺服器不會因爲太多請求而過載。 使用規則引擎,可以應用URL重寫,以便根據發起請求的地理位置將請求重新路由到區域伺服器。

				
					<rule>
    <description>Rewrite for Regional Origin Servers</description>
    <select.first-match>
        <match.location.country.literal result="match" codes="US">
            <feature.url.url-rewrite source="/80666BA/Origin1/(.*)" destination="/80666BA/Origin-US/$1"/>
        </match.location.country.literal>
        <match.location.country.literal result="match" codes="DE">
            <feature.url.url-rewrite source="/80666BA/Origin1/(.*)" destination="/80666BA/Origin-DE/(.*)"/>
        </match.location.country.literal>
    </select.first-match>
</rule>
				
			

拒絕訪問內容: 有很多原因線上企業需要拒絕或阻止訪問他們的內容。 地理鎖定根據最終用戶的位置限制對內容的訪問。 這可能是公司遵守經濟制裁和隱私法律或阻止安全威脅所必需的。 可以在規則引擎中設定地理鎖定規則,以拒絕或允許使用各種位置匹配條件(包括區域和國家代碼)訪問內容。

				
					<rule>
    <description>Deny RU Access</description>
    <match.location.country.literal result="match" codes="RU">
        <feature.access.deny-access enabled="true"/>
    </match.location.country.literal>
</rule>
				
			

客戶還可以使用基於令牌的身份驗證拒絕對內容的訪問。 這涉及根據傳入請求的多種特徵拒絕或允許訪問內容,例如精確的地理位置,URL路徑,各種標頭和/或Cookie的值,文件名,IP地址等。 Geoblocking用於流媒體服務,如Netflix和Hulu ,以遵守他們通過網際網路交付的內容的許可法律。

暫存控制: 規則引擎允許客戶微調其內容在邊緣伺服器上暫存的方式。 根據您的內容和交付要求,可以應用數十種暫存規則。 以下是幾個用例示例:

  • 預設情況下,CDN將遵循源站設定的暫存指令。 但是,如果源伺服器請求繞過暫存,客戶可以很容易地忽略此指令,讓資產暫存以供交付。 這允許使用Rules Engine簡化暫存控制,並防止客戶必須更改原始伺服器。
  • 「外部最大存留期」規則可讓您控制瀏覽器到Edge Server快取重新驗證。 換言之,客戶可以指定瀏覽器從邊緣伺服器檢查資產的新版本之前應經過的時間。
  • 重新驗證時過時規則允許我們的邊緣伺服器在重新驗證時向請求者提供過時的內容,從而提高了性能。 客戶可以完全控制CDN交付過時內容的時間長度。 此版本是”錯誤時過時內容交付”規則。 這可用於在發生錯誤時,在暫存重新驗證期間或從原始伺服器檢索請求的內容時提供過期暫存內容。 在某些情況下,客戶可能更喜歡這種方式,而不是將錯誤轉發給最終用戶。
  • 也可以通過規則引擎設定負暫存,以便快速暫存特定故障,以防止源伺服器因這類請求而產生錯誤。 我們已經看到,當請求無法滿足時,此配置減輕了源伺服器的壓力。 這是一項很好的功能,用戶可以配置它來減少4xx或5xx請求上的源伺服器峯值。
  • 規則引擎中的流優化功能非常適合調整暫存配置,以優化實時流的性能並減少源伺服器上的負載。

根據您的需求進行獨特的配置

我們知道,沒有兩個客戶是相同的,即使是同一行業的兩家公司也會有不同的內容要求。 規則引擎可讓您完全控制網路的配置方式以處理您的內容。 我們與小型和大型公司合作,確保我們的網路經過微調,以滿足您內容的專家交付。

聯繫我們 瞭解有關Rules Engine如何支援您的內容和交付需求的更多資訊。

Tags

Just For You