#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. После трассировки вы должны знать. Я предполагаю, что существуют другие правила перезаписи (например, правило одиночной записи приложения), которые отбрасывают вашу вторую попытку.