Elastic Load Balancing
传统负载均衡器
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

HTTP 标头和 Classic Load Balancer

HTTP 请求和 HTTP 响应使用标头字段发送有关 HTTP 消息的信息。标头字段为冒号分隔的名称值对,各个值对之间由回车符 (CR) 和换行符 (LF) 进行分隔。RFC 2616 信息标头中定义了标准 HTTP 标头字段集。此外还有应用程序广泛使用的非标准 HTTP 标头。某些非标准 HTTP 标头具有 X-Forwarded 前缀。Classic Load Balancer支持以下 X-Forwarded 标头。

有关 HTTP 连接的更多信息,请参阅 Elastic Load Balancing 用户指南 中的请求路由

先决条件

X-Forwarded-For

在您使用 HTTP 或 HTTPS 负载均衡器时,X-Forwarded-For 请求标头可帮助您识别客户端的 IP 地址。因为负载均衡器会拦截客户端和服务器之间的流量,因此您的服务器访问日志中将仅含有负载均衡器的 IP 地址。如需查看客户端的 IP 地址,使用 X-Forwarded-For 请求标题。Elastic Load Balancing 会在 X-Forwarded-For 请求标头中存储客户端的 IP 地址,并将标头传递到您的服务器。

X-Forwarded-For 请求标题将采用以下形式:

X-Forwarded-For: client-ip-address

下面是 IP 地址为 203.0.113.7 的客户端的 X-Forwarded-For 请求标头的示例。

X-Forwarded-For: 203.0.113.7

下面是 IPv6 地址为 2001:DB8::21f:5bff:febf:ce22:8a2e 的客户端的 X-Forwarded-For 请求标头的示例。

X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e

X-Forwarded-Proto

X-Forwarded-Proto 请求标头可帮助您识别客户端与您的负载均衡器连接时所用的协议 (HTTP 或 HTTPS)。您的服务器访问日志仅包含在服务器和负载均衡器之间使用的协议;不含任何关于在客户端和负载均衡器之间使用的协议之信息。如需判断在客户端和负载均衡器之间使用的协议,使用 X-Forwarded-Proto 请求标题。Elastic Load Balancing 会在 X-Forwarded-Proto 请求标题中存储客户端和负载均衡器之间使用的协议,并随后将标题传递到您的服务器。

您的应用程序或网站可以使用存储在 X-Forwarded-Proto 请求标题中的协议来表现重新导向至适用 URL 的响应。

X-Forwarded-Proto 请求标题将采用以下形式:

X-Forwarded-Proto: originatingProtocol

下例中包含的 X-Forwarded-Proto 请求标题源自作为 HTTPS 请求生成自客户端的请求:

X-Forwarded-Proto: https

X-Forwarded-Port

X-Forwarded-Port 请求标头可帮助您识别客户端与您的负载均衡器连接时所用的端口。