iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
IT管理

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

[Day16]自建CDN平台介面實作(一):『HTML頁面』功能實際套用

  • 分享至 

  • xImage
  •  

在上一篇文章中,我們已經向大家介紹了iNODE NINJA平台界面的使用心得。儘管平台上有許多重要功能,其中最主要的功能就是WAF設定。WAF設定的章節會在後面介紹,今天先告訴大家如何上傳自定義的HTML頁面,這個功能是相當實用的,因為您將在後續的其他設定中都經常需要到。

前言

當然,在訪問超時、阻擋或是自定義頁面的部分相信大家也想到了,iNODE NINJA一定會有一個預設的阻擋頁面, 這個頁面自然也是由iNODE NINJA所提供的,根據我們使用了cloudflare與imperva等等的這些CDN,在出現錯誤時,都會預設給出他們的阻擋或錯誤相關頁面。
https://ithelp.ithome.com.tw/upload/images/20230919/20160839saAZDsGh3D.png
https://ithelp.ithome.com.tw/upload/images/20230919/201608392o0GHPg3g1.png

以上頁面的顯示我們會覺得作為一個CDN服務商的話相對沒彈性。經過我們研究嘗試後,發現原來iNODE NINJA平台可以上傳自定義的HTML頁面來作為錯誤時的展示頁面,下面我們就來一步一步示範要怎麼新增。

測試與驗證iNODE NINJA平台上『HTML頁面』功能

規則設定(A):Deny

首先我們在iNODE NINJA平台上創建一條WAF:

  • 規則動作 :「Deny」(全世界的流量來源0.0.0.0/0)
  • 阻擋頁面 : 預設「default」(另外更詳細的WAF設置和各種動作,我們會在後續進行解說)
    https://ithelp.ithome.com.tw/upload/images/20230919/20160839cxJpCboSAX.png
    https://ithelp.ithome.com.tw/upload/images/20230919/20160839ISGgonYr7E.png

規則設定(A)顯示畫面

訪問時出現的頁面是這樣,顯示iNODE NINJA的logo,還有CaseID、時間軸、IP、HTTP錯誤碼這些,因為我們是被拒絕訪問的,所以依據HTTP的狀態碼定義顯示403錯誤。
https://ithelp.ithome.com.tw/upload/images/20230919/20160839gdmqyE9jm9.png

規則設定(B):Custom Page

在iNODE NINJA平台中WAF裡面有另一個會需要用到客製化頁面的動作 「Custom Page」 ,我們來嘗試這個頁面和「Deny」所顯示的會有什麼差異。

  • 規則動作 :無法點選和儲存

  • HTML頁面:無法點選和儲存
    https://ithelp.ithome.com.tw/upload/images/20230919/2016083928POaBsEUa.png
    這裡是無法點選和儲存的原因是沒有上傳任何自定義的HTML頁面,因此我們在網路上找了兩組錯誤頁面的HTML,並且上傳至iNODE NINJA上。

  • 上傳自定義的HTML頁面
    https://ithelp.ithome.com.tw/upload/images/20230919/20160839Lb3QSmkjfN.png
    上傳的方法可以選擇本機端的html檔,也可以把HTML代碼直接貼上到下方的黑色欄位內,貼上後下方就會出現預覽的畫面。另外Rid Position則是上面我們看到的那些Case ID等等資料的擺放位置,可以根據頁面的設計來看看要擺放在哪一個位置最佳。

  • 設定完成後下方為顯示之預覽圖
    https://ithelp.ithome.com.tw/upload/images/20230919/20160839LRPLPxITSx.png

這時候WAF「Custom Page」就會出現對應的選項了

  • HTML頁面:404
    https://ithelp.ithome.com.tw/upload/images/20230919/201608398abuWBSsXU.png

規則設定(B)顯示畫面

以上設定完成,訪問就會是出現剛剛預覽圖正式版了。
https://ithelp.ithome.com.tw/upload/images/20230919/20160839WoZ9gEcCqf.png

  • 說明
    另外這裡特別提醒一下,如果是custom page,那麼實際的狀態碼都會是200,這部分也是不能調整的,雖然我們故意找了一個404的頁面展示給大家看,因此在使用custom page這條規則時確實要注意一下狀態碼這部分。
    https://ithelp.ithome.com.tw/upload/images/20230919/20160839Q1iX9vQYi4.png

規則設定(C)

如果將上述是『上傳自定義的HTML頁面』套用在規則動作「Deny」 上。

規則設定(C)顯示畫面

https://ithelp.ithome.com.tw/upload/images/20230919/20160839G89Le7iDvw.png

  • 說明
    套用在deny的那條,則是會出現上述所說的CaseID、時間軸、IP等等那些相關資訊,但同時狀態碼也會是403。
    https://ithelp.ithome.com.tw/upload/images/20230919/20160839gqXxW2Oxj5.png

結論

總之,透過iNODE NINJA的自訂HTML頁面功能,並且在WAF上設定觸發動作時,選擇自定義的頁面,這樣子我們就可以將預設的錯誤阻擋頁面設定成自己喜歡的內容來呈現。如果您是ISP商要提供CDN服務了話,這樣做就可以換上自己logo的頁面,或是換上您的客戶自己的阻擋頁面,就可以獲得更加具有客製化CDN的風格。接下來的文章中,我們會針對WAF的部分做出更詳細的介紹。


上一篇
[Day15]自建CDN平台介面介紹
下一篇
[Day17]自建CDN平台:iNODE NINJA的WAF規則介紹
系列文
10年專業ISP服務商之蛻變 從無到有自建屬於自己的CDN服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言