Страница пользовательской ошибки для ошибки Http 503
Мне нужно отправить страницу с настраиваемой ошибкой для 503 ошибок, созданных моим веб-сайтом asp.net. Я попытался имитировать условие, отключив пул приложений (не работает) и наводя свое приложение запросами. Даже несмотря на то, что IIS отправляет мне страницу с ошибкой по умолчанию 503, и даже если я попытался установить собственный URL-адрес в IIS и ASP.NET для этого кода ошибки, он все равно возвращает мне страницу ошибок по умолчанию 503!
Я был бы признателен, если бы кто-то мог также сказать мне, где хранится страница ошибок по умолчанию 503, которую отправляет IIS.
Ответы
Ответ 1
Иди в те же проблемы, но мне просто удалось заставить это работать для нас, используя страницу ASP ASP.NET в приложении .NET(я не уверен, что она будет работать одинаково для apsx):
-
Убедитесь, что в IIS включен классический ASP. Стоит прочитать: http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx
-
Создайте классический ASP файл с именем Offline.asp и поместите его в корень вашего сайта со следующим содержимым:
<%
Response.Status = "503 Service Unavailable"
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="noindex,nofollow" />
<title>Sorry, we're down for essential maintenance</title>
</head>
<body><h1>Sorry, we're down for essential maintenance</h1></body>
</html>
-
Теперь в диспетчере IIS7 перейдите в раздел администрирования страниц ошибок, добавьте страницу пользовательской ошибки, например:
![Error Pages]()
![Add Custom Error Page]()
![Error Pages]()
Теперь, когда IIS получает 503, он отправляет содержимое браузера Offline.asp, а также код 503 (важный), чтобы поисковые системы не отображали ваши Страница ошибки!)
Теперь, если вы хотите отключить свое приложение в автономном режиме, вы можете просто настроить простое правило перенаправления, чтобы перенаправить все в автономный режим.
Ответ 2
Вы не можете настроить сообщение об ошибке "Недоступно" по умолчанию 503. Обычно это возвращается, когда пул приложений по какой-либо причине недоступен.
Это описание того, когда оно происходит, указывает, что оно поступает непосредственно из http.sys, и все в Интернете, похоже, согласуется с тем, что его нельзя изменить. Я просмотрел параметры реестра http.sys, и нет ничего полезного.
http://technet.microsoft.com/en-us/library/cc781893(WS.10).aspx
Ответ 3
Взгляните на HttpContext.Current.Response.TrySkipIisCustomErrors
. просто предложение.
Ответ 4
Насколько я вижу, страницы ошибок хранятся в папке% SystemDrive%\inetpub\custerr\< LANGUAGE-TAG > \< HTTP-CODE > .htm
Вы можете настроить пользовательские страницы ошибок для каждого веб-сайта в своем iis7 mmc.
изменить
По-видимому, нет пути от http.sys в случае 503 - единственный выбор, который вы получаете, это отправить сообщение об ошибке по умолчанию http 503 или прекратить соединение на уровне tcp.