根据http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#x-headers, X-Forwarded-Host 可以包含多个值:
Be careful when using these headers on the origin server, since they will contain more than one (comma-separated) value if the original request already contained one of these headers
REMOTE_HOST 可以包含多个值吗?或者它总是单一的价值?
这是正确的,
X-Forwarded-Host
因为原始客户端和服务器之间可能存在多个代理。如果解析失败(即不存在或 DNS 暂时不可用或查询超时),则REMOTE_HOST
它只是 的解析名称或 NULL。它始终是一个值。REMOTE_ADDR
PTR
REMOTE_ADDR
始终是单个值,通常指连接服务器的直接客户端。但是,使用mod_remoteip您可以更改此行为以获取原始用户代理,即使该用户代理位于负载平衡器、前端服务器或代理服务器之后。这在使用负载平衡器和服务器端反向代理时很有用,同时X-Forwarded-Host
适用于客户端代理。