IIS 7.5, 2008rc2, классический asp, ошибка 500:
Невозможно отобразить страницу, поскольку произошла внутренняя ошибка сервера.
Мне нужно знать, как настроить IIS, чтобы получить более подробную ошибку.
Я попытался установить в true все параметры отладки в конфигурации ASP.
Но это не сработало. Может кто-нибудь помочь мне?
asp-classic
error-handling
iis-7.5
egidiocs
источник
источник
Ответы:
Я пришел к той же проблеме и установил точно так же , как Alex K .
Так что, если «Отправить ошибки браузеру» не работает, установите также это:
Страницы ошибок -> 500 -> Изменить параметры функции -> «Подробные ошибки»
Также обратите внимание, что если содержимое страницы с ошибкой, отправленной обратно, довольно короткое и вы используете IE, IE с радостью проигнорирует полезный контент, отправленный обратно сервером, и покажет вам свою собственную страницу с общими ошибками. Вы можете отключить это в настройках IE или использовать другой браузер.
источник
Turn Windows features on or off > Internet Information Services > World Wide Web Services > Common HTTP Features > [✓] HTTP Errors
.HOW-TO
для NET ошибок страниц ?Если вы находитесь на удаленном сервере, вы можете настроить свой файл web.config следующим образом:
источник
<system.webserver>
в моем случае настроек было достаточно, спасибо.system.webServer
Раздел читается IIS 7+ даже при запуске классический ASPcustomErrors
(например, IIS 7+, ASP.NET, Classic AppPoolДважды щелкните «ASP» на главном экране сайта в IIS admin, разверните «Свойства отладки», включите «Отправить ошибки в браузер» и нажмите «Применить».
В разделе «Страницы ошибок» на главном экране выберите «500», затем «Изменить настройки функции» и выберите «Подробные ошибки».
Обратите внимание, что те же шаги применимы к IIS 8.0 (Windows Server 2012).
источник
После попытки ответа Вацлава и Алекса мне все равно пришлось отключить «Показывать дружественные сообщения об ошибках HTTP» в IE.
источник
В web.config под
заменить (или добавить) строку
с участием
Это связано с тем, что по умолчанию IIS7 перехватывает коды состояния HTTP, такие как 4xx и 5xx, сгенерированные приложениями далее по конвейеру.
Затем включите « Отправлять ошибки в браузер » в разделе «ASP», а в разделе « Страницы ошибок / Изменить параметры функции » выберите «Подробные ошибки».
Кроме того, предоставьте разрешения на запись в папку веб- сайта встроенной группе IIS_IUSRS .
источник
Set-WebConfigurationProperty '/system.WebServer/httpErrors' -Name errorMode -Value Detailed
TLDR: сначала определите, где в конвейере вы получаете ошибку (прокрутите, ища скриншоты чего-то, что напоминает вашу ошибку), внесите изменения, чтобы получить что-то новое, повторите.
Сначала определите, какое сообщение об ошибке вы видите на самом деле.
Если вы видите файл, расположенный здесь ...
% SystemDrive% \ Inetpub \ custerr \\ 500.htm
... который обычно выглядит так:
... тогда вы знаете, что видите текущую настроенную страницу ошибки в ** IIS **, и вам НЕ нужно изменять настройку ASPE customErrors, настройку сведений об ошибках asp или настройку браузера "show friendly http errors".
Возможно, вы захотите взглянуть на вышеуказанный путь, а не доверять моему скриншоту на случай, если кто-то его изменил.
«Да, я вижу вышеописанную ошибку ...»
В этом случае вы видите настройку < httpErrors > или в IIS Manager это страницы ошибок -> Изменить настройки функций. По умолчанию для этого используется errorMode = DetailLocalOnly на уровне узла сервера (в отличие от уровня сайта), что означает, что, хотя вы увидите эту настроенную страницу ошибок, пока удаленно, вы сможете локально войти на сервер и увидеть полный ошибка, которая должна выглядеть примерно так:
У вас должно быть все, что вам нужно, чтобы исправить текущую ошибку.
«Но я не вижу подробных ошибок даже при просмотре на сервере»
Это оставляет пару возможностей.
«Вход на сервер для меня не вариант»
Измените httpErrors вашего сайта на «Подробно», чтобы вы могли видеть его удаленно. Но если это не сработает, ваша ошибка уже может быть ошибкой конфигурации, см. № 3 непосредственно выше. Таким образом, вы можете застрять с № 4 или № 5, и вам понадобится кто-то из вашей команды сервера.
«Я не вижу страницу ошибки, описанную выше. Я вижу что-то другое»
Если вы видите это ...
... и вы ожидаете увидеть что-то подобное ...
... тогда вам нужно изменить "Отправить ошибки в браузер" на true в IIS Manager, в разделе Сайт -> IIS -> ASP -> Свойства отладки.
Если вы видите это ...
или это...
... вам нужно отключить дружественные ошибки в вашем браузере или использовать веб-просмотр fiddler, чтобы посмотреть фактический ответ против того, что ваш браузер хочет показать вам.
Если вы видите это ...
... тогда работают пользовательские ошибки, но у вас нет пользовательской страницы ошибок (конечно, в этот момент речь шла о .net, а не о классическом asp). Вам необходимо изменить тег customErrors в файле web.config на RemoteOnly для просмотра на сервере или Off для удаленного просмотра.
Если вы видите что-то в стиле вашего сайта, то, скорее всего, пользовательские ошибки включены или RemoteOnly и отображает пользовательскую страницу (например, Views-> Shared-> Error.cshtml в MVC). Тем не менее, маловероятно, но возможно, что кто-то изменил страницы в IIS для httpErrors, так что смотрите первый раздел об этом.
источник
попробуйте установить значение атрибута httpErrors «существующий ответ» в «PassThrough». Мой был установлен на «Заменить», что заставляло YSOD не отображаться.
источник
Одна вещь, о которой никто не упомянул, это очень быстрое и временное исправление: вы можете просмотреть ошибку на локальном хосте этого веб-сервера.
источник
Вы также можете проверить, что если вы изменили папку основного веб-сайта (
c:\inetpub\wwwroot
) на другую папку, вы должны дать разрешение на чтение группе IIS_IUSRS в новой папке.источник
Для людей, которые пробовали ВСЕ и просто НЕ МОГУТ получить подробности об ошибке, чтобы показать, как я, это хорошая идея, чтобы проверить различные уровни конфигурации. У меня есть файл конфигурации на уровне веб-сайта и на уровне приложения (внутри веб-сайта), проверьте оба. Кроме того, как выяснилось, у меня были отключены подробные ошибки на самом высоком узле в IIS (прямо под стартовой страницей, имя которого совпадает с именем компьютера веб-сервера). Проверьте страницы ошибок там.
источник
Нашел это.
http://blogs.iis.net/ksingla/archive/2009/02/16/iis-7-5-updates-to-custom-errors-and-compression.aspx
запустите cmd от имени администратора, перейдите в папку system32 \ inetsrv и выполните:
Теперь я вижу подробные ошибки asp.
источник
Если вы запустите браузер на сервере и протестируете свой URL проекта с локальным IP-адресом, вы получите все ошибки этого проекта без страницы общих ошибок (например, страница 500 ошибок).
источник