Обратный прокси-сервер IIS с несколькими правилами - PullRequest
0 голосов
/ 11 марта 2020
<rewrite>
        <rules>
            <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                <match url="^a/(.*)" />
                <action type="Rewrite" url="http://localhost:8086/{R:1}" />
            </rule>
            <rule name="ReverseProxyInboundRule2" stopProcessing="true">
                <match url="^b/(.*)" />
                <action type="Rewrite" url="http://localhost:8085/{R:1}" logRewrittenUrl="true" />
            </rule>
        </rules>
    </rewrite>

В любой момент времени работает только одно правило, другое выдает ошибку 404. если http://localhost/a/xxx работает, то http://localhost/b/yyy выдает ошибку 404.

1 Ответ

0 голосов
/ 12 марта 2020

Оба правила работают бок о бок в моей среде. Вы получили ошибку 404.4? Если это так, установите маршрутизацию запросов приложений и включите прокси-сервер пересылки в диспетчере IIS-> узел сервера-> кэш маршрутизации запросов приложений-> Настройки прокси-сервера-> Включить прокси.

https://www.iis.net/downloads/microsoft/application-request-routing

enter image description here enter image description here enter image description here

Если проблема не устранена, пожалуйста, включите не удалось запросите трассировку и опубликуйте увиденное.

https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules

...