深入淺出digiRunner API管理

深入淺出digiRunner - API分流及IP白名單

陳奕勳 Chris Chen / 黃迺智 Sean Huang 2024/09/02 17:18:35
60

前言

在上篇文章中,我們探討了用戶端和群組的管理,以及API授權的安全性設定。

本篇文章將繼續聚焦於API管理功能,深入探討API分流及IP白名單的設定與應用。

API分流能夠讓不同的流量導向不同的服務端,而IP白名單則確保只有授權的IP可以訪問API,不僅提升了系統的安全性,也提高了運營單位日常維護的效率。

如果想要複習API管理相關的朋友,也可以參考以下幾篇 : 

深入淺出digiRunner - 註冊與測試 API

深入淺出digiRunner - 串接用戶端權控並授權API

內文

一、註冊API並設定API分流及IP白名單

  1. 成功登入 dgR 後,請點擊左側選單中的「API管理」,然後選擇「API註冊」,這將帶您進入 API 註冊頁面。

  2. 接著,點擊「CUSTOMIZE」頁籤,進入自定義註冊 API 的頁面。

  1. 接下來,請填寫所有必填欄位:

    1. 「API名稱*欄位中自定義你方便辨識的名稱。

    2. 「digiRunner Proxy Path*欄位中定義代理進dgR的URL。

    3. 「Http Methods*欄位中設定該API所支援的Http方式。

  2. 由於我們暫時不需要使用授權,請勾選「No Auth」

  1. 當在「目標URL*欄位勾選了「Source IP分流」選項後,點擊 [ + ],系統會生成兩個「Source IP*輸入框。

  2. 在第一個「Source IP*輸入框中,填入「本機IP」,而「目標URL」欄位則填入「欲呼叫的API位置」

  3. 「目標URL*欄位區塊中,點擊 [ + ] 新增「目標URL」欄位,該步驟為新增API分流的目的。

  4. 在第二個「Source IP」輸入框中,填入「自定義IP」,同樣在「目標URL」欄位中填入「欲呼叫的API位置」

  1. 其他欄位的功能將在後續章節中進行詳細介紹。

  2. 填寫完成後,點擊 [ 註冊 ],即完成該 API 的註冊。

二、呼叫API驗證API白名單。

  1. 首先點選左側選單中的「API管理」,然後選擇「API列表」,進入API管理頁面。

  2. 在API列表中勾選所需的API,預設狀態燈號為紅燈。接著,點選 [ 啟動 ]

  3. 會彈出確認視窗。點選 [ 確認 ] 完成啟動,狀態燈號變為綠燈

  4. 接下來,點選 [ ] ,開啟測試區。

  1. 在Authorization 欄位中,選擇 「No Auth」 .

  2. 點選 [ 測試 ] ,由於本機IP已定義在Source IP中,預期成功接收到回傳碼為 200,並在響應Body中返回該API定義的資料。

  • 以下透過Header帶入自定義的IP位置,自定義IP可成功呼叫。

  1. 為了測試自定義IP的位置,請在請求表頭的「鍵」欄位輸入參數「X-Forwarded-For」,在「值」欄位輸入與「當初註冊時定義Source IP」相符的IP。

  2. 完成後,點選 [ 測試 ] 。由於自定義IP已在「Source IP」中定義,預期結果應為成功接收到回傳碼200,並在響應Body中看到該API定義的資料。

  • 以下透過Header帶入自定義的IP位置,驗證失敗情境

  1. 接著,測試驗證失敗的情境,在請求表頭的「鍵」欄位再次輸入參數「X-Forwarded-For」,但這次在「值」欄位中輸入一個隨機自定義的IP。

  2. 再點選 [ 測試 ] ,由於該IP未定義在Source IP中,預期呼叫會失敗,接收到回傳碼為401,響應Body回應「Missing srcUrl information」。 .

三、呼叫API驗證API分派功能。

  1. 要驗證API分派功能,首先,點選左側選單中的「API管理」,然後選擇「API列表」,進入API管理頁面。

  2. 在頁面中點選 [ ] 相應按鈕以開啟測試區。在測試區內,將Authorization欄位設置為「No Auth」

  3. 接著,點選 [ 測試 ] ,預期會成功接收到回傳碼為200,響應Body應返回該API定義的資料。

  4. 然後,進行第二次測試,再次點選 [ 測試 ] 。由於設置了AB分派比例為50/50%,第二次測試應返回另一個目標URL的資料,這樣即可進行比對確認。

結語

本篇文章中,我們介紹了如何在dgR系統中註冊API,並設定API分流及IP白名單。

這些功能不僅提升了系統的安全性和可靠性,還增加了API管理的靈活性。

企業因此能更好地控制API的使用情況,以滿足各種業務需求。

下一篇文章將繼續探討dgR的API管理功能:批次匯入與啟用功能,讓您對dgR的強大功能有更深入的了解。

期待在下一篇文章中與您再次見面!

陳奕勳 Chris Chen