獨享型負載均衡支持開啟高級轉發策略功能。 開啟了“高級轉發策略” 功能后,請參考以下內容為獨享型負載均衡添加轉發策略。
高級轉發策略開啟后,ELB實例會根據您配置的高級轉發策略將不同的請求按照不同的方式處理。
- 客戶端發送請求至ELB;
- ELB首先根據事先設置好的高級轉發策略中的轉發規則匹配請求;
- ELB再根據轉發規則對應的動作將客戶端請求轉發至對應的后端云主機進行處理;
- 最后返回響應至客戶端。
轉發規則和動作類型
每個監聽器都具有默認轉發策略,您也可以選擇定義其他轉發策略。每條轉發策略由優先級、一個或多個轉發規則以及轉發動作組成。您可以隨時添加或編輯轉發策略。
- 默認轉發策略
每個HTTP/HTTPS監聽器創建后,都會有一個默認的轉發策略,該轉發策略的的轉發規則是監聽器的協議和端口,動作為“轉發至后端主機組”,后端主機組為創建監聽器時配置的后端主機組。
默認轉發策略的優先級最低,不參與轉發策略排序;可以編輯,但不可刪除。
當開啟高級轉發策略時,支持設置默認轉發策略是否使用后端主機組。
- 轉發規則類型
高級轉發策略支持的轉發規則類型有:域名、URL、HTTP請求方法、HTTP請求頭、查詢字符串、網段。
域名:觸發轉發的域名,支持精確域名、泛域名。
- 可以并列添加多個域名。每個域名的長度不能超過46個字符。
- 至少包含兩個字符串,字符串間以點分割,字符串只能由英文字母、數字、中劃線、小數點和特殊字符組成。字符串中須以英文字母、數字或開頭,不能以中劃線結尾。 只能出現在開頭且必須以 .開始。
URL:觸發轉發的URL。
- 可以并列添加多個URL。
- 由英文字母、數字和特殊字符_~';@^-%#$.*+?,=!:|/()[]{}組成,并在精確匹配和前綴匹配時,只能由/開頭。
- URL的匹配模式有如下三種:
- 精確匹配:請求的URL和設定URL完全一致。
- 前綴匹配:請求的URL匹配已設定URL開頭的URL。
- 正則匹配:請求的URL和設定的URL正則表達式匹配。
注意如果URL中包含特殊字符(如:?或#),則需要先將特殊字符進行轉義后再配置URL轉發策略。
查詢字符串:當請求中的字符串與設置好的轉發策略中的字符串相匹配時,觸發轉發。
- 查詢字符串是鍵值對的形式,需要分別設置值:
- 鍵(key):只能包含英文字母、數字和特殊字符!$'()*+,./:;=?@^-_'。
- 值(value):一個鍵下可以配置多個值。只能包含英文字母、數字和特殊字符!$'()+,./:;=?@^-_'。還支持和?兩種通配符。
HTTP請求方法:觸發轉發的HTTP請求方法。
- 查詢字符串是鍵值對的形式,需要分別設置值:
- 可以并列設置多個請求方法。
- 主要分為以下幾種:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS
HTTP請求頭:觸發轉發的HTTP請求頭。
- 請求頭是鍵值對的形式,需要分別設置值:
- 鍵(key):只能由英文字母、數字、下劃線和中劃線組成。
- 值(value):一個鍵下可以配置多個值。只能包含英文字母、數字和特殊字符!#$%&'()+,./:;<=>?@[]^-_'{|}~。還支持和?兩種通配符。
網段:觸發轉發的請求網段。
動作類型
高級轉發策略支持的動作類型有:轉發至后端主機組、重定向至監聽器、重定向至URL、返回固定響應。
- 轉發至后端主機組
如果滿足轉發策略條件,則將請求轉發至配置好的后端主機組。需要配置后端主機組。
- 重定向至監聽器
如果滿足轉發策略條件,則將請求轉發至配置好的監聽器上。需要配置監聽器。
說明選擇“重定向至監聽器”并配置監聽器后,除訪問控制以外原有監聽器配置會失效。
例如:配置了重定向至監聽器后,當客戶端通過HTTP請求訪問的時候,后端云主機會返回HTTPS的響應,即強制以HTTPS請求訪問網頁。因此實際以HTTPS監聽器的配置為準向后端云主機進行轉發,原有HTTP監聽器的配置就無效了。
- 重定向至URL
如果滿足轉發策略條件,則將請求重定向至配置好的URL。
客戶端訪問ELB網址A后,ELB返回302或者其他3xx返回碼和目的網址B,客戶端自動跳轉到網址B,網址B可自定義。
- 需要設置如下參數
- 協議 :可以選擇“ {protocol}”或“HTTP”或“HTTPS”。 {protocol}表示與源協議相同。
- 域名 :至少包含兩個字符串,字符串間以點分割,字符串只能由英文字母、數字、中劃線和小數點組成。字符串必須以英文字母或數字開頭,不能以中劃線結尾。${host}表示與源域名相同。
- 端口 :取值范圍是1~65535。${port}表示與源端口相同。
- 路徑 :由英文字母、數字和特殊字符_~';@^-%#&**.*+?,=!:|/()[]{}組成,只能由/開頭。**{path}表示與源路徑相同。
- 查詢字符串 :只能包含英文字母、數字額特殊字符!$'()*+,./:;=?@&^-_',&僅支持作為分隔符使用。
- 返回碼 :可以選擇“301”、“302”、“303”、“307”、“308”。
說明協議、域名、端口和路徑至少設置一條。
- 返回固定響應
如果滿足轉發策略條件,則返回固定響應。
用戶訪問ELB實例后,ELB直接返回響應,不向后端云主機繼續轉發,返回響應的狀態碼和內容可以自定義。
- 需要設置如下參數
- 返回碼 :默認支持2XX、4XX、5XX系列狀態碼。
- Content-Type :可以選擇“text/plain”、“text/css”、“text/html”、“application/javascript”、“application/json”。
- 響應正文 :非必填項。
說明填寫響應正文時,請不要有回車格式,否則無法保存。
配置高級轉發策略動作類型
獨享型負載均衡開啟高級轉發策略功能后,ELB實例會根據您配置的高級轉發策略將不同的請求按照不同的方式處理。
每條高級轉發策略必須包含轉發規則和動作。
- 支持的轉發規則有:域名、URL、HTTP請求方法、HTTP請求頭、查詢字符串、網段。詳見轉發規則類型。
- 支持的動作類型有:轉發至后端主機組、重定向至監聽器、添加重定向至URL、返回固定響應。詳見動作類型。
- 支持域名類型轉發規則以*.開頭。
- 支持單條轉發策略中添加多個轉發規則。
- 支持轉發策略排序。
- 高級轉發策略開啟后不允許關閉。
開啟高級轉發策略
- 登錄管理控制臺。
- 在管理控制臺左上角選擇區域和項目。
- 選擇“服務列表 > 網絡 > 彈性負載均衡”。
- 在“負載均衡器”界面,單擊需要添加轉發策略的負載均衡器名稱。
- 切換到監聽器頁簽,單擊目標監聽器名稱。
- 在頁面右側“基本信息”中,單擊“開啟高級轉發策略”
- 單擊“確定”。
添加高級轉發策略
- 登錄管理控制臺。
- 在管理控制臺左上角選擇區域和項目。
- 選擇“服務列表 > 網絡 > 彈性負載均衡”。
- 在“負載均衡器”界面,單擊需要添加轉發策略的負載均衡器名稱。
- 切換到監聽器頁簽,單擊目標監聽器名稱。
- 單擊目標監聽器右側“設置”入口,選擇“設置轉發策略”。
- 在右側“轉發策略”子頁簽中,單擊“添加轉發策略”并進行配置。
- 配置完成,單擊“保存”。
添加轉發策略的參數說明表
參數 說明 樣例 轉發規則 域名 觸發轉發的域名,支持精確域名、泛域名。
可以并列添加多個域名。
至少包含兩個字符串,字符串間以點分割,字符串只能由英文字母、數字、中劃線、小數點和特殊字符組成。字符串中須以英文字母、數字或開頭,不能以中劃線結尾。只能出現在開頭且必須以.開始。www.example.com URL 觸發轉發的URL。
可以并列添加多個URL。
由英文字母、數字和特殊字符_~';@^-%#$.*+?,=!:|/()[]{}組成,并在精確匹配和前綴匹配時,只能由/開頭。請求的URL:/login.php
精確匹配:/login.php
前綴匹配:/log
正則匹配:/(\w)*.phpHTTP請求方法 觸發轉發的HTTP請求方法。主要分為以下幾種:
GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS
可以并列設置多個請求方法。GET HTTP請求頭 觸發轉發的HTTP請求頭。
請求頭是鍵值對的形式,需要分別設置值:
鍵(key):只能由英文字母、數字、下劃線和中劃線組成。
值(value):一個鍵下可以配置多個值。只能包含英文字母、數字和特殊字符!#$%&'()*+,./:;<=>?@[]^-_'{|}~。鍵(key):Accept-Language
值(value):zh-CN查詢字符串 觸發轉發的請求中的字符串。當請求中的字符串與設置好的轉發策略中的字符串相匹配時,觸發轉發。
查詢字符串是鍵值對的形式,需要分別設置值:
鍵(key):只能包含英文字母、數字和特殊字符!$'()+,./:;=?@^-_'。
值(value):一個鍵下可以配置多個值。只能包含英文字母、數字和特殊字符!$'()+,./:;=?@^-_'。鍵(key):locale
值(value):zh-cn網段 觸發轉發的請求網段。 192.168.1.0/24 動作 轉發至后端主機組 如果滿足轉發策略條件,則將請求轉發至配置好的后端主機組。
需要配置后端云主機組。轉發至后端主機組 重定向至監聽器 將HTTP監聽器上的請求轉發至配置好的HTTPS監聽器上。
需要配置監聽器。
說明:
選擇“重定向至監聽器”并配置監聽器后,除訪問控制以外原有監聽器配置會失效。
例如:配置了重定向至監聽器后,當客戶端通過HTTP請求訪問的時候,后端主機會返回HTTPS的響應,即強制以HTTPS請求訪問網頁。因此實際以HTTPS監聽器的配置為準向后端云主機進行轉發,原有HTTP監聽器的配置就無效了。- 重定向至URL 如果滿足轉發策略條件,則將請求重定向至配置好的URL。
客戶端訪問ELB網址A后,ELB返回302或者其他3xx返回碼和目的網址B,客戶端自動跳轉到網址B,網址B可自定義。
需要設置如下參數:
協議:可以選擇“${protocol}”或“HTTP”或“HTTPS”。${protocol}表示與源協議相同。
域名:至少包含兩個字符串,字符串間以點分割,字符串只能由英文字母、數字、中劃線和小數點組成。字符串必須以英文字母或數字開頭,不能以中劃線結尾。${host}表示與源域名相同。端口:取值范圍是1~65535。${port}表示與源端口相同。
路徑:由英文字母、數字和特殊字符_';@^-%$&#.+?,=!:|/()[]{}組成,只能由/開頭。${path}表示與源路徑相同。
查詢字符串:只能包含英文字母、數字額特殊字符!$'()+,./:;=?@&^-_',&僅支持作為分隔符使用。
返回碼:可以選擇“301”、“302”、“303”、“307”、“308”。
說明協議、域名、端口和路徑至少設置一條。
協議:HTTP
域名:www.example1.com
端口:8081
路徑:/index.html
查詢字符串:locale=zh-cn
返回碼:301返回固定響應 如果滿足轉發策略條件,則返回固定響應。
用戶訪問ELB實例后,ELB直接返回響應,不向后端云主機繼續轉發,返回響應的狀態碼和內容可以自定義。
需要設置如下參數:
返回碼:只能由數字組成,默認以2、4、5開頭,且總長度為3個字符。
Content-Type:可以選擇“text/plain”、“text/css”、“text/html”、“application/javascript”、“application/json”。
響應正文:非必填項。返回碼:200
Content-Type:text/plain
響應正文:云主機訪問正常
一個監聽器可以添加多個轉發策略,多個轉發策略之間可以通過排序來設置優先級。
- 登錄管理控制臺。
- 在管理控制臺左上角選擇區域和項目。
- 選擇“服務列表 > 網絡 > 彈性負載均衡”。
- 在“負載均衡器”界面,單擊需要修改轉發策略的負載均衡器名稱。
- 切換到監聽器頁簽,單擊需要修改轉發策略的監聽器名稱。
- 單擊轉發策略右側“設置”入口,選擇“設置轉發策略”。
- 在右側“轉發策略”子頁簽中,單擊上方的“排序”。
- 單擊轉發策略右上角的“上移”或“下移”。
- 單擊“保存”。
修改轉發策略
- 登錄管理控制臺。
- 在管理控制臺左上角選擇區域和項目。
- 選擇“服務列表 > 網絡 > 彈性負載均衡”。
- 在“負載均衡器”界面,單擊需要修改轉發策略的負載均衡器名稱。
- 切換到監聽器頁簽,單擊需要修改轉發策略的監聽器名稱。
- 單擊轉發策略右側“設置”入口,選擇“設置轉發策略”。
- 在右側“轉發策略”子頁簽中,選擇需要修改的轉發策略,單擊“編輯”。
- 根據界面提示修改參數,單擊“保存”。
刪除轉發策略
用戶可以根據實際需要刪除已經創建的轉發策略。轉發策略刪除后無法恢復,請謹慎操作。
- 登錄管理控制臺。
- 在管理控制臺左上角選擇區域和項目。
- 選擇“服務列表 > 網絡 > 彈性負載均衡”。
- 在“負載均衡器”界面,單擊需要刪除轉發策略的負載均衡器名稱。
- 切換到監聽器頁簽,單擊需要刪除轉發策略的監聽器名稱。
- 單擊轉發策略右側“設置”入口,選擇“設置轉發策略”。
- 在右側“轉發策略”子頁簽中,選擇需要刪除的轉發策略,單擊“刪除”。
- 單擊“是”。