Перезапись IIS: почему он не возвращает свежие данные

#iis #url-rewriting

#iis #URL-перезапись

Вопрос:

Я использую следующее правило перезаписи для получения данных с другого сервера, и оно возвращает результат в первый раз. Но когда я обновляю / добавляю данные, мой API по-прежнему возвращает предыдущие данные (без обновленных данных). Но примерно через 30 секунд, когда я снова нажимаю на API, он возвращает обновленные данные.

Он работает нормально, когда я использую прямой URL (http://172.20.20.23:3000 /).

Я не знаю, чего мне не хватает. Пожалуйста, помогите мне определить проблему.

 <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>    
    <rewrite>
      <rules>
        <rule name="Frontend Router" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                  <add input="{REQUEST_URI}" pattern="^/(qosapi)" negate="true" /> 
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
         <rule name="ReverseProxyInboundRule1" stopProcessing="true">
              <match url="^qosapi/(.*)" />                   
              <action type="Rewrite" url="http://172.20.20.23:3000/{R:1}" />
         </rule> 
      </rules>
       
    </rewrite>
  
  </system.webServer>
</configuration>
  

Ответ №1:

Это была проблема с кэшированием обратного прокси. Я просто отключил кэширование, и теперь оно работает отлично.

Смотрите изображение ниже: quot;Диспетчер IISquot; => quot;Кэш маршрутизации запросов приложенийquot; => quot;Настройки прокси-сервераquot;