如果您需要自定义HTTP头字段,并希望通过ALB监听的附加HTTP头字段实现部分特定功能,您可以通过本文查看ALB支持的附加头字段及如何添加附加HTTP头字段。
ALB支持的附加头字段
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参数来添加、保留或移除头字段。