Маршрутизация запросов приложений (ARR) IIS 7 Пробелы в URL - PullRequest
7 голосов
/ 30 сентября 2010

Я использую AAR для обращения прокси-запросов к установке Confluence. Это прекрасно работает, когда URL не содержит пробелов. Как только в URL добавляется пробел, запрос возвращает 404, кажется, что 404 происходит из IIS, а не из экземпляра Confluence.

Я включил отслеживание невыполненных запросов, как подробно описано здесь: http://learn.iis.net/page.aspx/488/using-failed-request-tracing-rules-to-troubleshoot-application-request-routing-arr/

При запросах, которые возвращают 404, модуль AAR, похоже, не срабатывает, в журналах нет информации об этом. Я проверил это на страницах, которые возвращают 200, и я вижу, что перезапись работает правильно.

Почему AAR не обрабатывает URL с пробелами в них? Правило моего обратного прокси-сервера совпадает на всем:

(.*)

И к правилу у меня нет условий.

Ответы [ 2 ]

11 голосов
/ 10 марта 2011

Вам нужно разрешить двойное побег.

Перейдите в IIS -> Выберите свой серверный узел -> Фильтрация запросов -> Изменить параметры функции ... -> Отметьте «Разрешить двойное экранирование»

Это решает вашу проблему с Confluence и пробелами в URL.

0 голосов
/ 28 апреля 2011

Вы также можете использовать командную строку

% windir% \ system32 \ inetsrv \ appcmd set config "Веб-сайт по умолчанию" -секция: system.webServer / security / requestfiltering -allowDoubleEscaping: true

...