如果您需要自定义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参数来添加、保留或移除头字段。