将 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');
}
%>
我已经在 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');
}
%>