【问题标题】:Understanding iis routing with ARR and Url Rewrite使用 ARR 和 Url Rewrite 了解 iis 路由
【发布时间】:2016-03-01 14:16:51
【问题描述】:

我知道如何使用 URL 重写和应用程序请求路由来配置 IIS,以便在一台机器上不同端口上运行的不同服务之间共享 URL。或者更确切地说,我通常在一些调整后让它工作。但是我不太明白,也无法解释为什么它会这样工作。例如,我不明白为什么除了 Rewrite 之外还需要 ARR。

我在处理程序列表之间找不到 ARR 或 Rewrite,但我猜它们在更高级别挂钩(在到达任何处理程序之前)。 ARR 只能在 root 级别使用,而 rewrite 也可以在站点节点上进行,所以我假设 ARR 是第一个收到请求的?

我确实找到了很多关于如何设置它的资源,但没有任何解释它是如何工作的或为什么工作的。有人可以解释一下流程吗?哪个模块(Rewrite 或 ARR)首先获得请求,它是如何通过系统的?什么时候可以单独使用这些模块之一?

【问题讨论】:

    标签: iis url-rewriting arr


    【解决方案1】:

    正如 ARR 的首字母缩写词所表明的,这完全是关于路由请求。通常,您可以将 ARR 服务器作为到达您公司的所有请求的第一个入口点。然后,ARR 会将它们重定向或路由到正确的服务器场。为了应用此逻辑,ARR 提供了正则表达式、反向引用的使用,您还可以使用条件,所有这些都以规则的形式构建。

    在我看来,这是为处理这种大规模环境而开发的更强大的系统。重写模块 - 我认为 - 更简单,只是我们在 ARR 中可以做的所有事情的一个子集;目标可能不一样。

    我希望它有所帮助。至少这是我从我自己的 ARR 经验中看到的,主要是。

    【讨论】:

    • ARR 依赖于 URL Rewrite,因此您认为 Rewrite 是一个子集是正确的。我正在寻找的是一个管道模式或说明,它清楚地表明它们的关系是什么以及请求如何通过层。 ARR 可以在重写之前、之间(pugin)、之后或之下(托管)重写。一个请求甚至可以在不同 OSI 层(SSL 卸载)上的三个(包括 IIS)之间来回传输。 docs 中有很多针对特定场景的插图,但没有任何内容可以解释流程。
    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    相关资源
    最近更新 更多