How to get user's public IP if the server is behind a router?
How can I get the user's public IP if my server is behind a router? I'm trying: 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"]; } but all I get is the router gateway. Apparently, REMOTE_ADDR won't work in my case and neither will HTTP_X_FORWARDED_FOR . Any ideas on how to get the