Тэги

Silverlight (36) WPF (10) IIS (7) Visual Studio (7) SharePoint (6) .Net Framework (5) ODP.NET (5) ASP.NET (4) C# (4) common (4) Network Settings (3) JavaScript (2) MS Office (2) Resharper (2) WCF (2) WEB (2) XPath (2) XSLT (2) ADO.NET (1) APEX (1) CMD (1) CSS (1) EF (1) HTML (1) Hardware bugs (1) Java (1) MS SQL (1) Oracle (1) PDF (1) Version Control (1) XAML (1)

суббота, 30 июля 2011 г.

URLScan : Unable to start debugging on the web server. The web server could not find the requested resource.

Еще один сюрприз на эту тему, теперь для тех, у кого чешутся руки.

Причина проблемы
Есть такое средство Microsoft Web Platform Installer и решили вы им доустановить что-то новенькое.
Одни из компонентов который вы выбрали был URLScan.
Вы даже не почитали, для чего он нужен. :)
Установка средства URLScan убивает дебаггинг сайтов на сервере IIS. И, видимо, еще много чего может убить по умолчанию.
Не ставьте его на разработческие машины!

Что такое URLScan
URLScan это всего лишь ISAPI-фильтр (Internet Server API filter), который посажен на инсталлятор, и который слушает и фильтрует входящие на IIS запросы.

"UrlScan 3.1 is a security tool that restricts the types of HTTP requests that IIS will process. By blocking specific HTTP requests, the UrlScan 3.1 security tool helps to prevent potentially harmful requests from reaching applications on the server. UrlScan 3.1 is an update to UrlScan 2.5 supports IIS 5.1, IIS 6.0 and IIS 7.0 on Windows Vista and Windows Server 2008."

Кто виноват
В науке о создании программ есть целый раздел, который называется - давать имена, которые соответствуют назначению переменной, метода, программы и т.д. или хотя бы не вводят в заблуждение. Из названия не понятно ЧТО ЭТО.
Лично я, когда за доли секунды выбирал этот компонент для установки из десятков других, подумал, что это очередное средство для форвардинга запросов.

Лечение

1. Удаление URLScan
Удаляется как обычная программа.
Откройте Установка и удаление программ (Windows XP и Server 2003) или Программы и компоненты (современные Windows).
Найдите там пункт по имени Microsoft URLScan Filter v[Version.Number].
Нажмите на нем кнопку Удалить.
Перезагрузите IIS! Или машину.

Как я понял, на IIS 6 и это средство не нужно (http://msdn.microsoft.com/en-us/library/ms165025.aspx). В версиях выше не помню, может оно идет там подключаемым модулем.

2. Изменение настроек URLScan
Можете поковыряться с URLScan и настроить его на дебаггинг, но я не советую этого делать на разработческой машине, т.к. технологий много, параметров настройки еще больше, поэтому лучше сохнанить время и удалить URLScan (см. выше), т.к. еще чего-нибудь можно словить на нем.
Для настройки URLScan используйте файл UrlScan.ini из папки %systemroot%\system32\inetsrv\urlscan.
Подробно здесь: Error: The Web Server Has Been Locked Down and Is Blocking the DEBUG Verb.

Как убедиться, что вы имеете проблему с URLScan
Вы не увидите URLScan, ни в меню Пуск, ни в настройках IIS (смотрел на 5й версии).
Журнал событий Windows тоже будет пуст.

1. Во первых проверьте, что он у вас есть в списке установленных программ (не в меню Пуск, а откуда программы удаляются).

2. В системе будет папка %systemroot%\system32\inetsrv\urlscan.

3. Чтоб узнать точно, что он у вас что-то начал "резать", посмотрите логи из %systemroot%\system32\inetsrv\urlscan\logs
Например:

2011-07-30 08:40:53 127.0.0.1 1 DEBUG /MyWeb/MyWebTestPage.aspx Rejected verb+not+allowed HTTP+method - -
2011-07-30 08:42:28 127.0.0.1 1 DEBUG /MyWeb/debugattach.aspx Rejected verb+not+allowed HTTP+method - -

Все.

Комментариев нет:

Отправить комментарий