iis-7.5 – IIS 7.5,多个应用程序池和URL重写(403.18 – 禁止)

有没有办法配置IIS 7.5以执行URL重写到同一站点上的不同应用程序池而不会遇到403.18错误?

我们在IIS 6上使用Helicon ISAPI Rewrite 3,它就像一个魅力.根级别的“应用程序”在它自己的应用程序池下运行,在IIS 6上,我们可以毫不费力地将该应用程序池中的URL重写到其他四个应用程序池中的任何一个.但是,当我将相同的服务器配置信息复制到IIS 7.5时,URL重写到任何其他应用程序池失败,并显示“403.18 – Forbidden”错误.

奇怪的是IIS 6不是(至少据我所知,通过查看站点服务配置对话框)在IIS 5仿真模式下运行,因此不知何故重写不会丢失403.18错误.所以必须有所不同……但无论如何,我肯定无法弄明白.

顺便说一下,我们没有和Helicon ISAPI Rewrite结婚.如果还有另一种使用其他模块或方法保留当前重写配置规则的方法,我会非常乐意使用它.

最佳答案
在IIS中,您不能将请求从一个应用程序路由到另一个应用程序.应用程序是隔离的,这就是您收到403错误的原因.

您可以使用ISAPI_Rewrite,Ape或ARR代理请求 – 这无关紧要,因为请求将使用本地HTTP请求传递给另一个应用程序.此解决方案非常稳定,但您将失去一些性能.

重定向可能不是一个选项,因为它无论如何都会向服务器生成两个请求,但由于请求将由用户生成,连接速度慢可能会显着下降.

转载注明原文:iis-7.5 – IIS 7.5,多个应用程序池和URL重写(403.18 – 禁止) - 代码日志