我正在尝试通过对 iis 上托管的页面的 http 请求获取客户端的 IP。
我调查过:
1) http://forums.asp.net/t/1780050.aspx/1
2)获取客户端IP地址:REMOTE_ADDR,HTTP_X_FORWARDED_FOR,还有什么有用的?
3)如何在 ASP.NET 中获取用户的客户端 IP 地址?
正如每个人所说的那样,没有万无一失的方法来获取客户端 IP,因为客户端可以在 NAT 之后,也可以伪造 IP 地址。
但是,我尝试了 REMOTE_ADDR、HTTP_X_FORWARDED_FOR 和 UserHostAddress。它们都返回服务器的 IP 而不是客户端(服务器与客户端位于不同的机器上),即 127.0.0.1 或服务器的 LAN IP (192.168.xxx.xxx)。我期待 HTTP_X_FORWARDED_FOR 的正确响应,因为它不受代理服务器的影响。
令人费解的是,当我将页面托管在与客户端相同的机器上时,即服务器在本地主机上,我能够获取客户端 ip(这显然等于服务器 ip)
IIS 中是否有任何设置需要配置才能使其正常工作?还是内部网中的其他问题?