Перезапись URL IIS7 возвращает 404 для запросов WCF (обратный прокси-сервер)

Я использую IIS7.5, .net 4.0. Я работаю на местном уровне.

Я установил Application Request Routing, Web Farm Framework, WebDeploy и UrlRewrite для настройки обратного прокси. Это работает нормально по большей части.

У меня есть два сайта:

DefaultWebSite (порт 80, пул приложений: пул приложений по умолчанию (.net 4)) иTarget (порт 8085, пул приложений: TargetAppPool (моя личность, .net 4)).

У меня есть правило перезаписи на DefaultWebSite (созданный в соответствии с указаниями наIIS.net) который перенаправляет весь трафик localhost (порт 80) налокальный: 8085 так же, как подробно описано в ссылке выше. Это прекрасно работает для большинства типов документов (.aspx, .xap, .htm, .ico), но запрос MyService.svc не выполняется. Возвращает 404.

Чтобы было ясно:

Когда я вставляюлокальный: 8085 / MyService.svc в браузер я получаю запрашиваемую страницу WCF.

Когда я вставляюлокальный / MyService.svc в браузер я получаю 404.

Когда я вставляюлокальный: 8085 / MyIcon.ico в браузер я получаю запрошенный ресурс.

Когда я вставляюлокальный / MyIcon.ico в браузер я получаю запрошенный ресурс.

.svc - единственный найденный тип документа, который возвращает 404.

У меня есть две информации, которые могут быть актуальны.

Пулы приложений. Когда я меняю пул приложений DefaultWebSite на TargetAppPool, тогда 404 становится 500 («Не удалось сопоставить путь» / «). Все остальные запросы выполняются успешно, когда это изменение сделано. Не уверен, если это актуально или нет.

FREB (Отслеживание невыполненных запросов) Журнал. Я нашел страницу (http://blogs.msdn.com/b/asiatech/archive/2011/08/25/return-404-4-not-found-when-url-rewrite.aspx) который подробно описывает шаги в журнале FREB, когда перезапись URL-адреса более успешна, чем моя (позже произойдет сбой). Я не смог выяснить, как сгенерировать журнал FREB для успешной перезаписи (если это возможно), поэтому я могу сравнить только свой журнал FREB с журналом в этом блоге. Я вижу, что их шаг 21 (URL_CHANGED) в моем журнале FREB, но не 22 (URL_REWRITE_END). У меня недостаточно опыта работы с этими журналами, чтобы заметить что-то более важное (предложения приветствуются).

Мой главный вопрос: кто-нибудь знает, почему не переписываются только URL-адреса, запрашивающие ресурсы .svc?

Вторичный вопрос: кто-нибудь знает, как создать журнал FREB для успешного запроса (если это вообще возможно)?

Спасибо

Обновить:

Я изменил архитектуру, чтобы попытаться получить больше информации.

Я переместил веб-сайт Target на другой компьютер, на котором я установил Microsoft Network Monitor для захвата входящего трафика.

Прежде чем я изменил правило перезаписи URL-адреса, чтобы указать на этот новый веб-сайт, я получил правильный ответ, когда сделал запрос к MyService.svc на новом ПК. Хорошо.

Как только я изменил правило перезаписи, чтобы направить запрос на новый целевой веб-сайт, он отвечает, как и раньше (404). Я сделал и POST и GET запросы. В журнале сетевого монитора нет никаких признаков каких-либо запросов (все другие вызовы -200, 404 или другие - появляются в этом журнале).

Это заставляет меня думать, что есть что-то несовместимое с перезаписью URL и запросами * .svc. Я попытался сделать запрос к MyService.asmx (создав этот файл), и он правильно вернул страницу, поэтому он ограничен * .svc. Есть идеи?

Ответы на вопрос(3)

Ваш ответ на вопрос