JSON Web Token (JWT) 是一種標準化、選用的驗證和/或加密格式,用於保護在兩方之間傳輸的資訊。
在 HTTP 存取階段中,使用者可以定義用來驗證來自用戶端 JWT 的動作,並將 JWT 傳遞至後端伺服器或將其移除。
對於比對類型,負載平衡器規則支援 REGEX。支援 PCRE 樣式 REGEX 模式,但對進階使用案例存在一些限制。在比對條件中使用 REGEX 時,支援具名擷取群組。請參閱負載平衡器規則中的規則運算式。
必要條件
確認第 7 層 HTTP 虛擬伺服器可供使用。請參閱新增第 7 層 HTTP 虛擬伺服器。
程序
- 開啟第 7 層 HTTP 虛擬伺服器。
- 在 [負載平衡器規則] 區段中,於 [HTTP 存取階段] 旁,按一下 ,以針對 HTTP 請求重寫階段設定負載平衡器規則。
- 從下拉式功能表中,選取相符條件。相符條件會用於比對透過負載平衡器傳遞的應用程式流量。可在一個負載平衡器規則中指定多個相符條件。每個相符條件均定義應用程式流量的準則。
支援的比對條件 說明 HTTP 要求方法 比對 HTTP 要求方法。 http_request.method - 要比對的值
HTTP 要求 URI 比對不含查詢引數的 HTTP 要求 URI。 http_request.uri - 要比對的值
HTTP 要求 URI 引數 比對 HTTP 要求 URI 查詢引數。 http_request.uri_arguments - 要比對的值
HTTP 要求版本 比對 HTTP 要求版本。 http_request.version - 要比對的值
HTTP 要求標頭 比對任何 HTTP 要求標頭。 http_request.header_name - 要比對的標頭名稱
http_request.header_value - 要比對的值
HTTP 要求 Cookie 比對任何 HTTP 要求 Cookie。 http_request.cookie_value - 要比對的值
HTTP 要求本文 比對 HTTP 要求的內文內容。 http_request.body_value - 要比對的值
TCP 標頭連接埠 比對 TCP 來源或目的地連接埠。 tcp_header.source_port - 要比對的來源連接埠
tcp_header.destination_port - 要比對的目的地連接埠IP 標頭來源 比對 HTTP 訊息中 IP 標頭文字方塊。來源類型必須是單一 IP 位址、IP 位址範圍或群組。請參閱新增群組。 - 如果選取了 [IP 標頭來源] 並具有 [IP 位址] 來源類型,則 HTTP 訊息的來源 IP 位址應符合群組中設定的 IP 位址。支援 IPv4 和 IPv6 位址。
- 如果選取了 [IP 標頭來源] 並具有 [群組] 來源類型,請從下拉式功能表中選取群組。
ip_header.source_address - 要比對的來源位址
ip_header.destination_address - 要比對的目的地位址變數 建立一個變數並為該變數指派值。 用戶端 SSL 比對用戶端 SSL 設定檔識別碼。 ssl_profile_id - 要比對的值
區分大小寫 設定區分大小寫的旗標以用於 HTTP 標頭值比較。如果為 true,則比較 HTTP 本文值時大小寫很重要。 - 從下拉式清單中,選取相符類型:開頭為、結尾為、等於、包含、符合 Regex。
- 如有需要,請輸入 URI。
- 從下拉式清單中,選取符合策略:
符合策略 說明 任何 若主機或路徑任一符合,即可將此規則視為相符。 全部 主機和路徑均必須符合,才將此規則視為相符。
- 從下拉式功能表,選取動作:
動作 說明 JWT 驗證 JSON Web Token (JWT) 是開放式標準,其定義一種精簡且獨立的方式,用來在各方之間以 JSON 物件形式安全地傳輸資訊。因為此資訊經過數位簽署,因此可驗證且受信任。- 領域 - 受保護區域的說明。如果未指定領域,用戶端通常會顯示格式化的主機名稱。當用戶端請求遭拒絕,而出現 401 HTTP 狀態時,會傳回已設定的領域。回應為:「WWW-Authentication: Bearer realm=<realm>」。
- Token - 此參數為選用。負載平衡器會逐一搜尋每個指定的 Token 是否有 JWT 訊息,直到找到為止。如果找不到,或如果未設定此文字方塊,則負載平衡器依預設會在 HTTP 請求「Authorization: Bearer <token>」中搜尋 Bearer 標頭
- 金鑰類型 - 對稱金鑰或非對稱公開金鑰 (certificate-id)
- 保留 JWT - 此旗標用來保留 JWT 並將其傳遞給後端伺服器。如果停用,則會移除後端伺服器的 JWT 金鑰。
連線捨棄 如果啟用了否定,則在設定 [連線捨棄] 時,會捨棄不符合指定相符條件的所有請求。允許符合指定相符條件的請求。
變數指派 允許使用者透過以下方式,將值指派給 HTTP 存取階段中的變數:可將結果用作為其他負載平衡器規則階段中的條件。
- 按一下儲存和套用。