如果您需要自訂HTTP頭欄位,並希望通過ALB監聽的附加HTTP頭欄位實現部分特定功能,您可以通過本文查看ALB支援的附加頭欄位及如何添加附加HTTP頭欄位。
ALB支援的附加頭欄位
HTTP頭欄位是指在超文字傳輸通訊協定 (HTTP)(HTTP)的請求和響應訊息中的訊息頭部分。HTTP頭欄位可以根據需求自訂,因此在Web伺服器和瀏覽器上可能存在非標準的HTTP頭欄位。下表列出了ALB支援的附加頭欄位及相關說明。
|
欄位名 |
說明 |
適用監聽協議 |
|
X-Forwarded-For |
開啟通過
欄位格式:
ALB如何擷取用戶端真實IP教程,請參見後端伺服器通過ALB擷取用戶端真實IP。 |
|
|
SLB-ID |
開啟 |
|
|
X-Forwarded-Proto |
開啟 欄位格式:
典型情境:當ALB使用HTTPS監聽,且監聽到後端伺服器組之間使用HTTP協議通訊時,後端伺服器收到的請求協議為HTTP。如果後端伺服器配置了HTTP自動重新導向到HTTPS的規則,會誤判用戶端使用的是HTTP協議,導致重新導向迴圈。開啟 |
|
|
X-Forwarded-Port |
開啟 欄位格式:
|
|
|
X-Forwarded-Host |
開啟 欄位格式:
|
|
|
X-Forwarded-Client-srcport |
開啟 欄位格式:
|
|
|
X-Forwarded-Clientcert-subjectdn |
開啟 開啟該頭欄位後,您需輸入自訂的HTTP頭名稱。 |
HTTPS |
|
X-Forwarded-Clientcert-issuerdn |
開啟 開啟該頭欄位後,您需輸入自訂的HTTP頭名稱。 |
HTTPS |
|
X-Forwarded-Clientcert-fingerprint |
開啟 開啟該頭欄位後,您需輸入自訂的HTTP頭名稱。 |
HTTPS |
|
X-Forwarded-Clientcert-clientverify |
開啟 開啟該頭欄位後,您需輸入自訂的HTTP頭名稱。 |
HTTPS |
上述附加HTTP頭欄位通過監聽層級的開關進行配置,開啟後ALB自動在轉寄到後端的請求中附加相應的頭欄位。如需自訂頭欄位值(如指定原始請求協議或連接埠),可在轉寄規則中通過寫入Header動作手動設定。監聽級開關適用於大多數透傳情境,轉寄規則適用於需要精細控制頭欄位值的情境,兩者操作路徑分別在監聽配置的進階配置地區和轉寄規則編輯介面中。
-
建議您的後端伺服器在擷取HTTP頭欄位時,遵循HTTP協議規範,不區分HTTP頭欄位索引值的大小寫。
-
ALB向後端伺服器傳遞X-Forwarded-For附加頭欄位的首字母始終保持大寫。
-
針對其他附加HTTP頭欄位,如果用戶端請求中攜帶某個頭欄位,ALB會按照用戶端請求中頭欄位格式向後端伺服器傳遞。否則,ALB會根據上表所示附加頭欄位的欄位名格式向後端伺服器傳遞。
-
-
開啟X-Forwarded-Clientcert-subjectdn、X-Forwarded-Clientcert-issuerdn、X-Forwarded-Clientcert-fingerprint和X-Forwarded-Clientcert-clientverify時,不允許將自訂的HTTP頭名稱設定為以下欄位:
slb-id、slb-ip、x-forwarded-for、x-forwarded-proto、x-forwarded-eip、x-forwarded-port、x-forwarded-client-srcport、x-forwarded-host、connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie、remoteip、authority。 -
在控制台附加HTTP頭欄位
在建立監聽時附加HTTP頭欄位
-
在頂部功能表列,選擇ALB執行個體所屬的地區。
-
選擇以下任一種方法,開啟監聽設定精靈。
-
在執行個體頁面,在目標執行個體操作列單擊建立監聽。
-
在執行個體頁面,單擊目標執行個體ID。單擊監聽頁簽,然後單擊建立監聽。
-
-
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
-
根據介面提示,完成建立監聽後續的配置步驟。
為已建立的監聽附加HTTP頭欄位
-
在頂部功能表列,選擇ALB執行個體所屬的地區。
-
在執行個體頁面,單擊目標執行個體ID。
-
單擊監聽頁簽,在目標監聽操作列選擇
>編輯監聽。 -
在編輯監聽對話方塊,在高級配置右側單擊修改。
-
在附加HTTP頭欄位地區添加、保留或移除頭欄位,然後單擊儲存。
使用API附加HTTP頭欄位
您可以在建立監聽時附加頭欄位,也可以為已建立的監聽添加、保留或移除頭欄位。
-
建立監聽:調用CreateListener介面配置XForwardedForConfig相關參數。
-
編輯已建立的監聽:調用UpdateListenerAttribute更新XForwardedForConfig相關參數。
相關文檔
控制台操作文檔
API文檔
-
CreateListener:在建立HTTP、HTTPS或QUIC監聽時通過設定XForwardedForConfig來添加HTTP頭欄位。
-
UpdateListenerAttribute:在更新監聽的配置時通過更新XForwardedForConfig參數來添加、保留或移除頭欄位。