如果您需要自定义HTTP头字段,并希望通过ALB监听的附加HTTP头字段实现部分特定功能,您可以通过本文查看ALB支持的附加头字段及如何添加附加HTTP头字段。
ALB支持的附加头字段
HTTP头字段是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分。HTTP头字段可以根据需求自定义,因此在Web服务器和浏览器上可能存在非标准的HTTP头字段。下表列出了ALB支持的附加头字段及相关说明。
| 字段名 | 说明 | 适用监听协议 | 
| X-Forwarded-For | 开启通过 
 字段格式: ALB如何获取客户端真实IP教程,请参见后端服务器通过ALB获取客户端真实IP。 | 
 | 
| SLB-ID | 开启 | 
 | 
| X-Forwarded-Proto | 开启 字段格式:  | 
 | 
| 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头字段时,遵循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参数来添加、保留或移除头字段。