【发布时间】:2011-09-01 06:00:12
【问题描述】:
我有一项在 Amazon Ec2 中运行的服务。该服务公开了一个 http 端点和一个 https 端点。记录数据时,我正在对用户 IP 地址进行一些地理查找。在进入 http 端点的请求上一切正常。我必须抓住 X-Forwarded-For 标头,这样我就不会使用 Amazon 负载均衡器的 UP 地址,并且我总是能够得到我需要的东西。但是,对于来自 https 端点的请求,所有 IP 地址都是相同的。
为了提取 IP 地址,我使用以下 C# 代码:
public static string FetchClientIp(HttpRequest req)
{
var value = req.Headers["X-Forwarded-For"];
return string.IsNullOrEmpty(value) ? req.UserHostAddress : value;
}
我找不到其他我需要做的特定于 https 请求的事情,所以我希望这里有人之前遇到过这个问题。我将对此进行测试,以更好地隔离问题。
谢谢
【问题讨论】:
-
这显然是亚马逊流量管理器的问题,而且它非常深奥,所以我不知道你在这里会有多少运气。建议您咨询供应商论坛或支持。
-
疯狂的建议:你确定与你连接的端点的IP不是客户端IP地址吗?
标签: c# ssl amazon-ec2