Warum leitet das IIS-Modul „UrlRewrite“ weiterhin Anforderungen um, nachdem die Regel entfernt wurde?

Warum leitet das IIS-Modul „UrlRewrite“ weiterhin Anforderungen um, nachdem die Regel entfernt wurde?

Unsere Anwendung verwendet das IIS UrlRewrite-Modul, um Anfragen während Upgrades vorübergehend auf eine Wartungssite umzuleiten. Wir haben einige Fälle gesehen, in denen der Server trotz der Entfernung der Umleitungsregel weiterhin alle Anfragen gemäß der entfernten Regel umleitet. Dies scheint kein Muster zu haben und ist nur ein- oder zweimal aufgetreten.

Wir haben die folgenden Schritte unternommen, um die Ursache für dieses Verhalten zu ermitteln.

  • Überprüft, ob die ursprüngliche Regel eine temporäre 307-Umleitung war
  • Die Anwendung wurde von Computern angefordert, die sie noch nie zuvor angefordert hatten.
  • Anderen Browser verwendet
  • Eine Dummy-Regel wurde zur IIS-Verwaltungskonsole hinzugefügt und daraus entfernt.
  • Den HTTP-Kernel-Cache überprüft mitnetsh http show cachestate
  • Die Datei applicationHost.config manuell geändert (die Regel war nicht mehr in der Datei, wir haben lediglich ein überflüssiges Leerzeichen hinzugefügt)

Wenn dies in der Vergangenheit passiert ist, konnten wir IIS neu starten und das Problem wurde dadurch gelöst. Dies ist jedoch nicht immer eine Option und wir möchten wirklich herausfinden, was die Grundursache ist.

Wie oder warum sollte UrlRewrite die Antwort zwischenspeichern und nicht auf Konfigurationsänderungen reagieren?

Antwort1

Ich habe nicht genug Rep, um einen Kommentar hinzuzufügen, aber wie entfernen Sie die Regel? Verwenden Sie <remove name=""/>die Regel oder löschen Sie sie stattdessen? Wenn Sie sie nur löschen, versuchen Sie es vielleicht stattdessen mit dem Element „Entfernen“.

verwandte Informationen