我们的应用程序使用 IIS UrlRewrite 模块在升级到维护站点期间临时将请求重定向。我们看到过一些情况,即使重定向规则已被删除,服务器仍会根据已删除的规则重定向所有请求。这种情况似乎没有任何规律,只发生过一两次。
我们已采取以下步骤来尝试确定此行为的原因。
- 已验证原始规则是 307 临时重定向
- 向从未请求过该应用程序的机器请求该应用程序
- 使用其他浏览器
- 从 IIS 管理控制台添加和删除虚拟规则
- 使用以下方法检查 http 内核缓存
netsh http show cachestate
- 手动修改了 applicationHost.config 文件(规则仍然不在文件中,我们只是添加了多余的空格)
过去当这种情况发生时,我们可以重新启动 IIS 并解决问题,但这并不总是一种选择,我们确实想找出根本原因。
UrlRewrite 如何或为何会缓存响应而不响应配置更改?
答案1
我没有足够的代表来添加评论,但您如何删除规则?您是使用<remove name=""/>
还是删除规则?如果您只是删除它,也许可以尝试使用删除元素。