根据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 可以包含多个值吗?还是始终只有一个值?
答案1
这对于 just 来说是正确的,X-Forwarded-Host
因为在原始客户端和服务器之间可能有多个代理。REMOTE_HOST
只是一个解析的名称REMOTE_ADDR
,如果解析失败(即不PTR
存在或 DNS 暂时不可用或查询超时),则为 NULL。它始终是一个单一值。
REMOTE_ADDR
始终是一个值,通常指直接连接服务器的客户端。但是,mod_remoteip您可以改变此行为以获取原始用户代理即使该用户代理位于负载平衡器、前端服务器或代理服务器后面。这在使用负载平衡器和服务器端反向代理时很有用,而X-Forwarded-Host
适用于客户端代理。