Jer*_*ett 7 application-pools iis-7.5 isapi-rewrite
有什么方法可以配置 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。如果有另一种方法可以使用另一个模块或方法来保留我们当前的重写配置规则,我会非常乐意使用它。
小智 6
在 IIS 中,您不能只将请求从一个应用程序路由到另一个应用程序。应用程序是隔离的,这就是您收到 403 错误的原因。
您可以使用 ISAPI_Rewrite、Ape 或 ARR 来代理请求——这无关紧要,因为无论如何请求都会使用本地 HTTP 请求传递给另一个应用程序。此解决方案相当稳定,但您会损失一些性能。
重定向在这里可能不是一个选项,因为它无论如何都会向服务器生成两个请求,但是由于请求将由用户生成,连接性能可能会显着下降。
Microsoft 的新 URL 重写组件在 IIS7 中也不支持它。也会出现同样的问题。
我不记得在 IIS6 中可以跨应用程序池重写。您正在进行重写而不是重定向?重定向将在 IIS7 中运行。
我会在 www.isapirewrite.com 上询问 Helicon。他们在论坛上的反应很好。ISAPI 模块现在可能完全存在于 w3wp.exe 进程中,因此无法将其请求传递给另一个应用程序池。
另一个提出问题的地方是http://forums.iis.net/。IIS 开发团队对一些帖子做出了回应,他们可能会提供有关为何 ISAPI Rewrite 的功能在迁移到 IIS7 时发生变化的详细信息。
| 归档时间: |
|
| 查看次数: |
9835 次 |
| 最近记录: |