請求轉送會將 URL 或主機重新導向至特定伺服器集區。

必要條件

確認第 7 層 HTTP 虛擬伺服器可供使用。請參閱新增第 7 層 HTTP 虛擬伺服器

對於比對類型,負載平衡器規則支援 REGEX。支援 PCRE 樣式 REGEX 模式,但對進階使用案例存在一些限制。在比對條件中使用 REGEX 時,支援具名擷取群組。請參閱負載平衡器規則中的規則運算式

程序

  1. 開啟第 7 層 HTTP 虛擬伺服器。
  2. 按一下請求轉送 > 新增規則,以針對 HTTP 請求轉送設定負載平衡器規則。
  3. 從下拉式清單中選取相符條件。相符條件會用於比對透過負載平衡器傳遞的應用程式流量。可在一個負載平衡器規則中指定多個相符條件。每個相符條件均定義應用程式流量的準則。
    支援的比對條件 說明
    HTTP 要求方法 比對 HTTP 要求方法。

    http_request.method - 要比對的值

    HTTP 要求 URI 比對不含查詢引數的 HTTP 要求 URI。

    http_request.uri - 要比對的值

    HTTP 要求 URI 引數

    用於比對 URI 引數 (也稱為 HTTP 請求訊息的查詢字串),例如,在 URI http://exaple.com?foo=1&bar=2 中,「foo=1&bar=2」是包含 URI 引數的查詢字串。在 URI 配置中,查詢字串是由第一個問號 (「?」) 字元指出,且結尾為井字號 (「#」) 字元或 URI 結尾。

    http_request.uri_arguments - 要比對的值

    HTTP 要求版本 用於比對 HTTP 請求訊息的 HTTP 通訊協定版本

    http_request.version - 要比對的值

    HTTP 要求標頭 用於依 HTTP 標頭欄位比對 HTTP 請求訊息。HTTP 標頭欄位是 HTTP 請求和回應訊息的標頭區段元件。它們定義 HTTP 交易的作業參數。

    http_request.header_name - 要比對的標頭名稱

    http_request.header_value - 要比對的值

    HTTP 要求 Cookie 用於依屬於 HTTP 標頭特定類型的 Cookie 比對 HTTP 請求訊息。match_type 和 case_sensitive 會定義比較 cookie 值的方式。

    http_request.cookie_value - 要比對的值

    HTTP 要求本文 比對 HTTP 要求的內文內容。

    http_request.body_value - 要比對的值

    用戶端 SSL 比對用戶端 SSL 設定檔識別碼。

    ssl_profile_id - 要比對的值

    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 - 要比對的目的地位址
    變數 建立一個變數並為該變數指派值。
    區分大小寫 設定區分大小寫的旗標以用於 HTTP 標頭值比較。如果為 true,則比較 HTTP 本文值時大小寫很重要。
  4. 選取動作:
    動作 說明
    HTTP 拒絕 用於拒絕 HTTP 請求訊息。指定的 reply_status 值將用作對應 HTTP 回應訊息的狀態碼。回應訊息會傳送回到用戶端 (通常是瀏覽器),指出遭到拒絕的原因。

    http_forward.reply_status - 用於拒絕的 HTTP 狀態碼

    http_forward.reply_message - HTTP 拒絕訊息
    HTTP 重新導向

    用於將 HTTP 請求訊息重新導向至新的 URL。用於重新導向的 HTTP 狀態碼為 3xx,例如,301、302、303、307 等。redirect_url 是將 HTTP 請求訊息重新導向至其中的新 URL。

    http_forward.redirect_status - 用於重新導向 http_forward.redirect_url 的 HTTP 狀態碼 - HTTP 重新導向 URL
    選取集區

    強制執行對特定伺服器集區的要求。指定集區成員所設定的演算法 (預測工具) 用於選取伺服器集區內的伺服器。相符的 HTTP 請求訊息會轉送到指定的集區。

    如果啟用了 HTTP 保持運作,並在負載平衡器中設定了轉送規則,則會優先採用伺服器保持運作設定。因此,會將 HTTP 要求傳送到已連線且保持運作的伺服器。

    在符合負載平衡器規則條件的情況下,如果您始終希望優先使用轉送規則,請停用保持運作設定。

    請注意,持續性設定優先於保持運作設定。

    執行程序時,其優先順序如下:持續性 > 保持運作 > 負載平衡器規則

    http_forward.select_pool - 伺服器集區 UUID

    變數持續性檢測 選取一般持續性設定檔,並輸入變數名稱。

    您也可以啟用雜湊變數。如果變數值很長,對變數進行雜湊可確保變數會正確地儲存在持續性資料表中。如果雜湊變數未啟用,則在變數值很長的情況下,只有變數值的固定首碼部分會儲存在持續性資料表中。因此,具有長變數值的兩個不同請求在應分派至不同的後端伺服器時,可能會分派至相同的後端伺服器,因為其變數值具有相同的首碼部分。

    連線捨棄

    如果在條件中啟用了否定,則在設定 [連線捨棄] 時,會捨棄不符合條件的所有請求。允許符合條件的請求。

    回覆狀態 設定回覆的狀態。
    回覆訊息 伺服器以回覆訊息回應,其中含有已確認的位址與組態。
  5. 按一下儲存套用