我有一个服务在Amazon Ec2中运行。该服务公开了一个http端点和一个https端点。我在记录数据时正在对用户IP地址进行一些地理位置查找。对于进入http端点的请求,一切正常。我必须抓住X-Forwarded-For标题,这样我才不会拿亚马逊负载平衡器UP地址,我总能得到我所需要的。但是,对于https端点上的请求,所有IP地址都是相同的。如何在SSL请求上获取请求IP地址
为了拉IP地址,我使用下面的C#代码:
public static string FetchClientIp(HttpRequest req)
{
var value = req.Headers["X-Forwarded-For"];
return string.IsNullOrEmpty(value) ? req.UserHostAddress : value;
}
我无法找到任何东西,我需要做的是针对HTTPS请求,所以我希望有人之前已经遇到过这个问题。我要对此进行测试,以便更好地隔离问题。
感谢
这显然是亚马逊流量管理这是问题,它是非常深奥的,所以我不知道你会有多少运气在这里。建议您咨询供应商论坛或支持。 – annakata 2010-11-17 19:17:14
疯狂的建议:您肯定知道与您连接的端点的IP不是客户端IP地址吗? – 2010-11-17 22:17:57