【问题标题】:Reverse proxy using ARR (Application Request Routing) - POST method does not work使用 ARR(应用程序请求路由)的反向代理 - POST 方法不起作用
【发布时间】:2014-10-16 09:27:55
【问题描述】:

我们正在尝试使用 ARR(应用程序请求路由)和 URL 重写来设置反向代理机制。当我们使用 GET 方法请求时,重写工作正常 但是当我们为这种内容类型(x-form-urlencoded)请求的方法发送 Post 时,ARR 不会返回任何响应。我该如何解决这个问题?

 <rewrite>
      <rules>
            <rule name="InboundGeneral" enabled="true" stopProcessing="true">
                <match url="^(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Rewrite" url="http://localhost:29341/{R:1}" logRewrittenUrl="true" />
            </rule>
      </rules>
    </rewrite>

【问题讨论】:

  • 任何人都可以帮助我吗?
  • “不返回任何响应”在 HTTP 代码方面是什么意思? 400? 500?还是中止?您在失败的请求跟踪中看到了什么?

标签: iis reverse-proxy arr


【解决方案1】:

这是一个老问题,但我在寻找解决同样问题的方法时发现了它。

我发现问题是由于在同一站点上运行的 ARR 和 ASP.net MVC 之间的冲突。事实证明,如果您在主站点(例如过滤器或 global.asax)中出于任何原因处理请求参数,它将清除 ARR 发送的请求中的 post 参数,从而导致超时。

您可以通过以下两种方式之一解决:

  1. 将 ARR 放在一个单独的进程中(如果可以的话)
  2. 或者确保您使用的任何过滤器都检查了正在使用的路径 ARR 并避免接触请求参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多