iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
IT管理

10年專業ISP服務商之蛻變 從無到有自建屬於自己的CDN服務系列 第 21

[Day21]自建CDN平台介面實作(五):回源政策

  • 分享至 

  • xImage
  •  

上一篇我們提到了「事件查詢」這個功能,透過事件查詢能夠讓我們方便地排查到訪問的情況,如果用戶遇到訪問的問題就能夠快速鎖定問題點了。

回源功能簡介

除了事件查詢以外,想到大多數的CDN為了訪問的速度效能,或是法規遵循的需求,因此應該都會有可以根據請求的相關內容(例如特定路徑),或是請求來源的國家來指定回源到特定的伺服器這種功能。目前在許多國家都有針對PII (個人識別資訊) 的處理方式來做出管制,例如如果用戶位於歐盟,涉及許多敏感的資料就必須在歐盟境內的源站伺服器做出對應的處理、儲存等等的法規。

iNODE NINJA平台「回源功能」種類

上面說的這個功能在哪呢?

  1. 當我們在建立域名的時候,就能看到一個「使用回源政策」的開關,點下去就會跳出一個新增的按鈕。
    https://ithelp.ithome.com.tw/upload/images/20230924/20160839OGFi0U6jMd.png
  2. 在iNODE NINJA的WAF中也有一條Origin Policy。
    https://ithelp.ithome.com.tw/upload/images/20230924/20160839IA83g4S5Zo.png
    接下來我們就來探討這兩者的功能實作與差異性在哪裡。

1.「回源政策」實測

◆基本配置與設定檢視

在「域名建立」功能中也有這部分的規則就設定,這裡就是依照該應用配置或者該域名的設定走,但可以設定的功能就也相對比較簡單了。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839sbydKpYgCG.png
原則上就是根據國家來源做出指定的回源,但一開始點下去竟然都是空白的,後來經過摸索才知道,在建立回源規則之前,會需要先在左邊 「回源政策」這個欄位內設定好具體的回源規則。

◆iNODE NINJA平台「回源政策」設定

在回源政策中,我們可以填入自己喜歡的名稱,例如這裡我們打算設定來自日本的訪問都會指向到kkkkspace.me (就是一開始的那個information viewer),而來自日本以外其他國家的訪問,則是會回源到lix01-1.scu.org.tw (就是之前的信用合作社網站) 這樣的設計。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839vjtFkIp8tD.png

「回源政策」設定

因此我們就設定一組 [jp_kkkkspace_me],以及另一組 [default_lix01_1_scu_org_tw] 這樣兩組的規則,由於後者源站有HSTS,因此在回源也都設定成https/443的方式回源。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839VsmufFL8n9.png

「負載平衡」設定

另外在建立回源時,我們發現可以建立多個回源進行負載平衡,或是主/備模式 or 加權模式,並且在下方也有提供許多的負載平衡模式和源站的檢查方式。因為可以調整的選項實在是太多了,因此我們這裡先使用單一個源站、其餘保持預設的情況來進行測試。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839j08wF7ehOq.png

「新增域名」設定

我們接著新增了一條域名,開啟使用回源政策,並且分別選擇default (指定國家以外),和JP (指定日本) 這兩組政策並儲存。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839ENZ9mNkiLi.png

「回源政策」設定完成

建立好之後就會是這樣的形式
https://ithelp.ithome.com.tw/upload/images/20230924/20160839cLoft3cFFB.png

◆iNODE NINJA平台「回源政策」實測

此時以日本以外的IP進行訪問,這裡就直接用台灣的IP,以及使用香港等等其他國家的IP訪問時,就會出現信用合作社的網站。
https://ithelp.ithome.com.tw/upload/images/20230924/201608399TNq4u0FCD.png

但此時改日本IP訪問,則是出現先前文字資訊的那個頁面,因為此時就被回源到kkkkspace.me了。
https://ithelp.ithome.com.tw/upload/images/20230924/201608396Oo4QNHBMv.png

到這裡我們就成功實現了以訪問者的IP來做出不同的回源源站請求。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839tsMnPIUzm1.png

◆iNODE NINJA平台「WAF」設定

「Origin Policy」設定

WAF規則裡面的回源的Origin Policy功能如何設定呢?,這個功能其實也可以實現這樣的回源設計,但是在特徵方面就可以不只是針對訪問的IP來處理了,只要是WAF可以辨認的特徵,例如用戶所帶的User-agent或是訪問的速率超出多少等等,都可以做為回源目標的判斷與切換依據。
https://ithelp.ithome.com.tw/upload/images/20230924/20160839wCda6ZvSIZ.png
當然,透過WAF其中也包含來源國家的部分,確實在這裡也可以設定依據來源國家回源,但畢竟WAF的部分是有條數限制的 (在資源管理>資源用量總覽裡面可以看到),因此如果只是想單純針對國家做出不同的回源這點了話,建議在域名物件那邊設置即可。

結論

關於回源的部分我們就先講到這裡,相信會用到同域名不同源站的情況主要還是以國家的部分最常見,因此單純在域名物件那裡應該就可以實現大多數使用場景的需求。
下一篇我們會介紹到iNODE NINJA的權限管理功能,權限管理可以讓您劃分不同使用者可以看到或可以操作到的功能,針對最高權限的系統管理者、維運人員、稽核人員、會計或財務人員進行權限上的管控,像是操作可讀或可讀可寫的設定,以及控制哪些功能選項誰可以看到誰不能看到,這個部分相信對於要成為一個CDN服務提供者的角度來說,也是相當重要的,那就期待明天的文章!


上一篇
[Day20]自建CDN平台介面實作(四):事件查詢
下一篇
[Day22]自建CDN平台介面實作(六):權限管理
系列文
10年專業ISP服務商之蛻變 從無到有自建屬於自己的CDN服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言