Как переписать содержимое API в ответе IIS ARR - PullRequest
1 голос
/ 25 июня 2019

После загрузки главной страницы моим веб-приложением происходит вторичный вызов API.Этот вызов API содержит данные XML с URL-адресами, которые также необходимо переписать, но не переписывать.

URL-адреса в ответе XML от вызова API должны быть переписаны в тот же домен, что и внешнийДомен, с которого поступил звонок.

Я пытался использовать предварительное условие <add input="{RESPONSE_CONTENT_TYPE}" pattern="^application/xml" /> и использовать предварительное условие <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />

Кажется, что оба не работают.

Используемая конфигурация указана ниже:

<rule name="ReverseProxyOutboundRule1">
    <match filterByTags="None" pattern="^http(s)?://k2.denallix.com/(.*)" />
    <conditions>
    </conditions>
    <action type="Rewrite" value="https://k2.reverseproxy.com/{R:2}" />
</rule>
<preConditions>
    <preCondition name="ResponseIsHtml1">
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^application/xml" />
    </preCondition>
</preConditions>

Нет ошибки от отслеживания невыполненных запросов, но GENERAL_RESPONSE_ENTITY_BUFFER показывает, что ответ в XML не переписал URL.

Несколько экземпляров <Data>https://k2.denallix.com/Runtime/Runtime/View/Authorization+view/?SN=408849_21</Data>

должны переписать на <Data>https://k2.reverseproxy.com/Runtime/Runtime/View/Authorization+view/?SN=408849_21</Data>

Спасибо.

...