简短描述
应用程序负载均衡器使用 routing.http.drop_invalid_header_fields.enabled 属性删除无效的 HTTP 标头。该属性的默认值为 FALSE。
如果该属性的默认值设置为 TRUE,则应用程序负载均衡器会删除无效的 HTTP 标头。如果该属性的值为 FALSE,则负载均衡器使用原始请求将标头路由到目标。
**注意:**弹性负载均衡要求所有注册的消息标头名称都符合正则表达式 [-A-Za-z0-9]+。每个标头名称都由字母数字字符或连字符组成。
验证属性 drop_invalid_header_field 是否有效
在服务器端捕获数据包。禁用该属性后,应用程序负载均衡器会将无效的 HTTP 标头转发到后端服务器。激活该属性后,负载均衡器仅将有效的标头转发到后端服务器。无效的标题将被删除。
使用 Wireshark 查看服务器端的 HTTP 标头(已停用的属性)
在来自客户端计算机的 CURL 请求中传递标头 +agent: world。请注意,此标头使用的值无效:
Hypertext Transfer Protocol
GET / HTTP/1.1\r\n
X-Forwarded-For: x.x.x.x\r\n
X-Forwarded-Proto: http\r\n
X-Forwarded-Port: 80\r\n
Host: xxxxxxxx.elb.amazonaws.com\r\n
X-Amzn-Trace-Id: Root=xxxxxxxxxx\r\n
User-Agent: curl/8.4.0\r\n
Accept: */*\r\n
+agent: world\r\n
此输出来自服务器端的 Wireshark 捕获。应用程序负载均衡器将无效的标头转发到后端服务器。
使用 Wireshark 查看服务器端的 HTTP 标头(已激活的属性)
在来自客户端计算机的 CURL 请求中传递标头 +agent: world。请注意,此标头使用的值无效:
Hypertext Transfer Protocol
GET / HTTP/1.1\r\n
X-Forwarded-For: x.x.x.x\r\n
X-Forwarded-Proto: http\r\n
X-Forwarded-Port: 80\r\n
Host: xxxxxxxx.elb.amazonaws.com\r\n
X-Amzn-Trace-Id: Root=xxxxxxxxxx\r\n
User-Agent: curl/8.4.0\r\n
Accept: */*\r\n
激活该属性后,应用程序负载均衡器将请求发送到后端服务器。但是,如服务器端输出所示,负载均衡器会删除无效的标头。
相关信息
负载均衡器属性