我有一个负载平衡API,使用Microsoft自托管的Web,并在托管的Rackspace负载均衡器后面运行HTTPS。负载均衡器不终止HTTPS,而是将HTTPS直接转发给服务主机。即SSL证书位于处理请求的每台服务器上。
如果绕过负载平衡,我可以使用request.Properties.ContainsKey(RemoteEndpointMessageProperty.Name).正确提取客户端IP。
如果我通过负载平衡器,我没有得到客户端IP,我得到了负载平衡器的IP。
我一直在寻找和尝试各种方法来获得实际的客户端IP,但没有结果。在调试时,我查看了请求的属性列表,认为在某个地方必须有对原始客户机IP的引用。又一次没有结果。
我似乎没有什么改变,这将有助于使用RackSpace网络管理器的负载平衡器。
是否可以在此场景中提取原始客户端IP,或者在遍历负载均衡器之后该信息根本不存在?
事先非常感谢。
西蒙
发布于 2014-07-22 19:02:48
使用不被宿主负载均衡器终止的HTTPS意味着它不能向加密流中添加任何内容。这意味着负载均衡器不能将原始IP传递给web服务器本身。
发布于 2014-03-09 07:11:40
我和亚马逊也有同样的问题。检查它发送的报头,它应该包括包含客户端IP地址的报头“X转发-For”。
这也可能会有帮助。。
https://stackoverflow.com/questions/22279344
复制相似问题