Глобальное правило перезаписи IIS работает только с документом по умолчанию - PullRequest
0 голосов
/ 12 июля 2020

Перенос серверов и возникла проблема с перезаписью 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}" />

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

1 Ответ

0 голосов
/ 14 июля 2020

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...