我的网站在 Amazon ELB 上运行。我需要为我们在网站上做的事情捕获客户的 IP 地址——这并不理想,但我们现在肯定需要这个 IP。
这曾经在专用服务器上工作得很好。但是自从搬到ELB后,我在使用时只得到ELB的内部IP地址作为客户端的IP地址Request.UserHostAddress
从我添加的一些博客开始X-Forwarded-For
,即使我的 IIS 日志具有正确的客户端 IP,该 IP 也不会传递给实际的网页。
事实上,标题中没有这样的字段..或标题中接近的任何内容。
检查Request.Headers.ToString()
给了我我的会话 cookie、其他 cookie、客户端浏览器(正确)和其他类似的东西,但没有任何 IP。事实上,我什至看不到 elb 的静态 ip。
Request.Headers["HTTP_X_FORWARDED_FOR"]
始终为空,这是可以理解的。
请问如何从 C# 获取真实的客户端 IP?