如果我的服务器在路由器后面,如何获取用户的公共 IP?
我正在努力:
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
但我得到的只是路由器网关。
显然,REMOTE_ADDR
在我的情况下不起作用,也不会HTTP_X_FORWARDED_FOR
。
关于如何在我的情况下获取用户的公共 IP 的任何想法?
谢谢。