【发布时间】:2015-08-07 23:05:24
【问题描述】:
我在 IIS 8 (Windows 2012) 中使用 ARR 3.0 设置了一个 Web Farm。农场有两台服务器。是否可以将所有请求配置为定向到特定服务器(如果健康),并且仅当该服务器不健康时,才将请求定向到第二个服务器?
【问题讨论】:
我在 IIS 8 (Windows 2012) 中使用 ARR 3.0 设置了一个 Web Farm。农场有两台服务器。是否可以将所有请求配置为定向到特定服务器(如果健康),并且仅当该服务器不健康时,才将请求定向到第二个服务器?
【问题讨论】:
我还没有找到解决方案,但我实施了一种解决方法来解决我的问题。我使用了服务器场的健康测试功能。在首选服务器上,运行状况测试 url 响应 OK。在辅助服务器上,运行状况测试 url 检查首选服务器是否正常运行,如果正常则返回可接受的状态代码之外的 HTTP 状态代码,否则返回 OK。
用 ASP 实现
运行状况测试 URL 是 http://serverFarm/HealthTest.asp,其中“serverFarm”是创建场时指定的服务器场名称。
首选服务器的 HealthTest.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');
}
%>
【讨论】: