将 IIS Web 场配置为首选特定服务器

Configure IIS Web Farm to prefer specific server

我已经在 IIS 8 (Windows 2012) 中使用 ARR 3.0 设置了一个 Web Farm。农场有两台服务器。是否可以将所有请求配置为定向到特定服务器(如果健康),并且仅当该服务器不健康时,将请求定向到第二台服务器?

我还没有找到解决方案,但我实施了一个解决方法来解决我的问题。我使用了服务器场的 健康测试 功能。在首选服务器上,运行状况测试 url 响应正常。在辅助服务器上,运行状况测试 url 检查首选服务器是否正常运行,如果正常则使用超出可接受状态代码的 HTTP 状态代码进行响应,否则返回正常。

用ASP

实现

运行状况测试 URL 是 http://serverFarm/HealthTest.asp,其中 'serverFarm' 是创建服务器场时指定的服务器场名称。

首选服务器的HealtTest.asp

<%@ LANGUAGE=JScript CODEPAGE=65001%>

<%
    Response.Write('OK');
%>

辅助服务器的HealthTest.asp

<%
    var XMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP");
    var ReqURL = 'http://preferred.server.ip/HealthTest.asp';

    try {
        XMLHTTP.open("GET" , ReqURL, false);
        XMLHTTP.send("");

        if(200 == XMLHTTP.status)
        {
          Response.Status = "403 Primary server Active";
        }
        else
          Response.Write('OK');
    } catch (e) {
      Response.Write('OK');
    }
%>