检测具有多个绑定的ASP.NET站点中的哪些IP使用

时间:2013-06-12 17:10:58

标签: asp.net web-applications

我在IIS 7中安装了一个ASP.NET应用程序,它在端口80上使用两个HTTP绑定,每个绑定都有不同的IP地址。

此Web服务器位于负载均衡器后面,可以通过任一IP地址将流量转发到Web服务器(具体取决于不重要的情况)。

我的应用程序是否需要检测负载均衡器正在使用哪个IP - 是否可以通过请求中的REMOTE_ADDR服务器变量(假设负载均衡器覆盖了这个)?

我认为它的F5负载均衡器有帮助!

2 个答案:

答案 0 :(得分:1)

在我的情况下,答案是使用LOCAL_ADDR变量,因为它代表了请求所在的服务器地址 - 负载均衡器。

Great info on server variables

干杯

答案 1 :(得分:0)

这将显示所有相关数据:(来自http://msdn.microsoft.com/en-us/library/system.web.httprequest.servervariables(v=vs.90).aspx

int loop1, loop2;
NameValueCollection coll;

// Load ServerVariable collection into NameValueCollection object.
coll=Request.ServerVariables; 
// Get names of all keys into a string array. 
String[] arr1 = coll.AllKeys; 
for (loop1 = 0; loop1 < arr1.Length; loop1++) 
{
   Response.Write("Key: " + arr1[loop1] + "<br>");
   String[] arr2=coll.GetValues(arr1[loop1]);
   for (loop2 = 0; loop2 < arr2.Length; loop2++) {
      Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");
   }
}

在此内容中,您将找到引用客户端的REMOTE_ADDR,以及引用IIS主机的SERVER_PORT。