Skip to main content
Version: Next

IP Restriction

用途說明#

用戶可設定允許或拒絕的IP,使其限制對服務或路由做存取動作。單一IPs、複數IPs以及CIDR標記法(像是 10.10.10.0/24 )都可使用。支援IPv4和IPv6地址。

欄位配置說明#

變數類型預設值說明必填
allowarray of string允許的IPs或CIDR範圍的列表。 allowdeny 中需選擇其中一個欄位填寫。V
denyarray of string拒絕的IPs或CIDR範圍的列表。 allowdeny 中需選擇其中一個欄位填寫。V
note

如填寫 allow 欄位,其餘不在列表裡的IPs皆會被擋下。相反地如果填寫為 deny 欄位,則除了填入的IPs之外皆可通過。*

用法示例#

在全局啟用插件#

  1. 從網站左邊Menu中 外掛插件 頁面中,點選右上角的 新增外掛插件

全局啟用畫面

  1. 點選後,選擇 安全 頁籤,並啟用IP Restriction,填寫內容參考欄位配置說明,設定成功後,任何請求(不分服務、路由、用戶)皆需經過檢查才能通過。

在服務端上啟用插件#

  1. 從網站左邊Menu中 服務 > 服務列表 頁面中,選擇要啟用此插件的服務,假設為google,點選對應的編輯按鈕:

服務啟用畫面1

  1. 在編輯畫面中,點選上方的 外掛插件 頁籤,再點選頁籤內容上方的 新增外掛插件 按鈕:

服務啟用畫面2

點選後,選擇 安全 頁籤,並啟用IP Restriction,填寫內容參考欄位配置說明,設定成功後,僅有此服務(範例為google)請求需經過檢查才能通過。

在路由端上啟用插件#

可以由兩種方式來選擇路由,並啟用插件:

方式一:路由列表#

  1. 從網站左邊Menu中 服務 > 路由列表 頁面中,選擇要啟用此插件的路由,假設為google,點選對應的編輯按鈕:

路由啟用畫面1

方式二:服務 > 服務列表 > 路由列表#

  1. 從網站左邊Menu中 服務 > 服務列表 頁面中,選擇要啟用此插件的路由 所屬之服務(假設為google),點選對應的編輯按鈕。

在編輯畫面中,點選上方的 路由 頁籤,選擇要啟用此插件的路由(假設為google),點選對應的編輯按鈕:

路由啟用畫面2


  1. 承第1步,點擊上述兩種方式之一的編輯按鈕後,在編輯畫面中,點選上方的 外掛插件 頁籤,再點選頁籤內容上方的 新增外掛插件 按鈕:

路由啟用畫面3

點選新增外掛插件 按鈕後,選擇 安全 頁籤,並啟用IP Restriction,填寫內容參考欄位配置說明,設定成功後,僅有此路由(範例為google)請求需經過檢查才能通過。

在用戶端上啟用插件#

  1. 從網站左邊Menu中 訂閱用戶 > 用戶列表 頁面中,選擇要啟用此插件的用戶,假設為portaladmin,點選對應的編輯按鈕 :

用戶啟用畫面1

  1. 在編輯畫面中,點選上方的 外掛插件 頁籤,再點選頁籤內容上方的 新增外掛插件 按鈕:

用戶啟用畫面2

點選後,選擇 安全 頁籤,並啟用IP Restriction,填寫內容參考欄位配置說明,設定成功後,僅有此用戶(範例為portaladmin)請求需經過檢查才能通過。

驗證#

當開啟此插件時,如使用不允許通過之IP傳送請求則會得到以下回應

HTTP/1.1 403 Forbidden
Date: Tue, 06 Apr 2021 08:10:40 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Content-Length: 48
X-Kong-Response-Latency: 125
Server: kong/2.3.3
{
"message":"Your IP address is not allowed"
}