我有一个负载平衡 API,使用 Microsoft 自托管 Web API 并在托管 Rackspace 负载平衡器后面通过 HTTPS 运行。负载平衡器不会终止 HTTPS,而是将 HTTPS 直接转发到服务主机。即 SSL 证书位于处理请求的每个服务器上。
如果我绕过负载平衡,我可以使用 request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name) 正确提取客户端 IP。
如果我通过负载均衡器,我没有得到客户端 IP,我得到的是负载均衡器的 IP。
我一直在寻找并尝试各种方法来获取实际的客户端IP,但均无济于事。我在调试时查看了请求的属性列表,认为必须在某处引用原始客户端 IP。再次无济于事。
我似乎没有做太多有助于将 RackSpace Web 管理器用于负载平衡器的更改。
在这种情况下是否可以提取原始客户端 IP,或者在遍历负载均衡器后此信息根本不存在?
非常感谢。
西蒙
请您参考如下方法:
使用未被托管负载均衡器终止的 HTTPS 意味着它无法将任何内容添加到加密流中。这意味着负载均衡器无法将原始 IP 传递给 Web 服务器本身。
