как переписать в iis

#iis #url-rewriting #web-config #angular-routing

#iis #url-перезапись #web-config #angular-маршрутизация

Вопрос:

У меня есть приложение angular, работающее на сервере Windows iis. Я добавил angular URL rewrite, и есть несколько дополнительных серверов, на которых мне нужно добавить обратный прокси-сервер для связи с внутренним сервером и отправки его обратно клиенту. Это одна из моих переписанных URL-адресов в моей веб-конфигурации. это работает отлично.

     <rules>
       <rule name="ReverseProxyInboundRule1" stopProcessing="true">
       <match url="api/(.*)" />
       <action type="Rewrite" url="http://internalserver:10000/api/{R:1}" />
    </rule>
 

но это не работает.

 <rule name="ReverseProxyInboundRule4" stopProcessing="true">
     <match url="test" />
     <action type="Rewrite" url="http://internalserver:10000/test" />
</rule>
 

Я хочу сопоставить mypublicdomain.com/test чтобы переписать в http://internalserver:8000/test и в ответ
отправьте его обратно. какую ошибку я здесь совершаю?

это мое исходящее правило.

 <rule name="ReverseProxyOutboundRule1" preCondition="ResponseIsHtml1">
        <match filterByTags="A, Form, Img, IFrame" pattern="^http(s)?://internalserver:10000/(.*)" />
        <action type="Rewrite" value="http{R:1}://mypublicdomain.com/{R:2}" />
</rule>
 

Комментарии:

1. Для отслеживания запроса необходимо использовать трассировку запроса на отказ, чтобы узнать, почему не удалось выполнить сопоставление с правилом 4.

2. После трассировки вы должны знать. Я предполагаю, что существуют другие правила перезаписи (например, правило одиночной записи приложения), которые отбрасывают вашу вторую попытку.