1

我们正在尝试使用 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>
4

1 回答 1

1

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

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

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

  1. 将 ARR 放在一个单独的过程中(如果可以的话)
  2. 或者确保您拥有的任何过滤器都会检查 ARR 中使用的路径并避免接触请求参数。
于 2017-02-12T00:23:08.233 回答