Глобальное правило перезаписи IIS работает только с документом по умолчанию

Перенос серверов и проблема с перезаписью URL в IIS. Правило отлично работает на наших предыдущих серверах, но правило правильно работает только в документе по умолчанию на базовом адресе домена. Правило настраивается как глобальное правило в IIS.

Правило работает по адресу: domain.com/

Правило не выполняется по адресу: domain.com/any-address-here.

Детали правила: Мы сопоставляем все, берем входящий IP-адрес и передаем его в наш заголовок. Это было настроено в IIS и проверено в файле (/Windows/System32/insetsrv/config/applicationHost.config). Серверное ПО: Windows 2012R2. Использование IIS 8.5.9600.16384 и модуля перезаписи URL-адресов Microsoft 2.

<match url="(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
    <add input="{HTTP_X_Forwarded_For}" pattern="^([0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3})(.)*$" />
</conditions>
<serverVariables>
    <set name="REMOTE_ADDR" value="{C:1}" />
</serverVariables>
<action type="Rewrite" url="{R:0}" />

Любое понимание будет с благодарностью, большое спасибо!


person myshyzile    schedule 12.07.2020    source источник
comment
docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/   -  person Lex Li    schedule 12.07.2020
comment
Вы могли видеть этот заголовок X_forwarded_for, когда вы обращаетесь к другому URL-адресу вместо документа по умолчанию? Вы пробовали чистить кеш браузера. Похоже, x_forwarded_for не был добавлен в заголовок запроса. Пожалуйста, включите отслеживание неудачных запросов и проверьте это. Кроме того, вы пытались установить тип действия равным none?   -  person Jokies Ding    schedule 13.07.2020


Ответы (1)


Простой обходной путь, а не исправление. Глобальные правила просто не полностью распознавались в IIS, поэтому правила были перенастроены как распределенные правила. Затем IIS распознал правила, но мы получили 500 сообщений об ошибках. Нам нужно было добавить серверные переменные для успешного завершения перезаписи.

Примечание. Мы установили URL Rewrite как отдельное приложение с веб-сайта Microsoft, но, прочитав о том, как это может быть проблематично, мы переустановили приложение URL Rewrite через диспетчер веб-платформы, как это было рекомендовано. Это не повлияло на описанную выше проблему перезаписи глобального правила и документа по умолчанию.

Спасибо Lex и Jokies за ваши комментарии и время! Очень признателен.

person myshyzile    schedule 14.07.2020