【问题标题】:IIS reverse proxy with asp.net MVC site带有 asp.net MVC 站点的 IIS 反向代理
【发布时间】:2018-04-17 12:48:13
【问题描述】:

设置:

-Asp.net MVC 网站 (siteA),在 global.ascx 中实现了 application_error 处理程序,并且 web.config 中只有一个规则(反向代理重写规则)。

-使用站点A的/子目录指向站点B域的IIS反向代理设置。

-IIS 重写模块已移至站点 A 的 IIS 模块列表顶部。

问题:

反向代理配置适用于除了 web.config 中的 iis 重写规则之外的 IIS 文件夹中没有任何内容的 testsiteA。没有其他文件夹、文件等。这个 testsiteA 工作正常,因为重写规则按预期工作。但是,当我将相同的规则应用于托管了 asp.net MVC 网站的真实站点 siteA 时,永远不会处理重写规则。相反,在 global.ascx 中到达 application_error 处理程序,并且不处理 URL 重写规则的处理。我试过做 Response.End(),清除服务器错误,基本的'return;'结束执行的语句,都在 application_error 处理程序中,但没有一个起作用。

如何让 IIS 或 asp.net 管道将 URL 重写作为最高优先级处理?

【问题讨论】:

    标签: asp.net url url-rewriting


    【解决方案1】:

    添加一些日志记录后(我无法让错误处理程序在调试模式下调用),我发现我们的控制器 IoC 无法解析子目录路径(我也将它从磁盘中删除)。为了解决这个问题并让 URL 重写被处理,我只是添加了一个

    routes.IgnoreRoute("subdirectory/{}pathInfo}");

    到 RouteConfig.cs。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      • 2019-02-21
      • 1970-01-01
      相关资源
      最近更新 更多