Api 自定义httpErrors不保留BadRequest消息

Api 自定义httpErrors不保留BadRequest消息,api,iis,proxy,asp.net-mvc-5,url-rewriting,Api,Iis,Proxy,Asp.net Mvc 5,Url Rewriting,我有一个问题,情况如下:我有一种代理,我使用Url重写将请求重写到RESTful api。在某些情况下,api会发送带有400状态代码的响应BADDREQUEST,并发送一条消息,告知问题所在。当我直接调用api时,消息会按其应有的方式返回。我的问题是,当我调用相同的api但通过该代理时,我只得到-400“BadRequest”。 我的代理配置web中有一个httpErrors部分: <httpErrors errorMode="Custom" existingResponse="Repl


我有一个问题,情况如下:我有一种代理,我使用Url重写将请求重写到RESTful api。在某些情况下,api会发送带有400状态代码的响应BADDREQUEST,并发送一条消息,告知问题所在。当我直接调用api时,消息会按其应有的方式返回。我的问题是,当我调用相同的api但通过该代理时,我只得到-400“BadRequest”。

我的代理配置web中有一个httpErrors部分:

<httpErrors errorMode="Custom" existingResponse="Replace">
   <remove statusCode="403" />
   <remove statusCode="404" />
   <remove statusCode="500" />
   <error statusCode="403" responseMode="_path_" path="ExecuteUrl" />
   <error statusCode="404" responseMode="_path_" path="ExecuteUrl" />
   <error statusCode="500" responseMode="_path_" path="ExecuteUrl" />
</httpErrors>

我认为问题在于这个自定义错误页面,但我在这里并没有看到400状态代码的页面或自定义错误,但我尝试了,当我删除此页面或将existingResponse设置为

<httpErrors errorMode="Custom" existingResponse="PassThrough">

我可以通过代理看到来自api的错误请求消息。
我正在使用IIS 7.5。我在某个地方读到,我甚至无法为400状态码响应设置自定义页面。

那么到底发生了什么?我能用“干净”的解决方案解决我的问题,而不需要任何黑客攻击吗

我在努力

<remove statusCode="400" />

也是。
我在某个地方读到过关于将现有响应设置为“Auto”以及关于使用标志“tryskipiiscustomerors”的内容,但是“Auto”响应关闭了我的每个自定义页面以获取其他状态代码,“tryskipiiscustomerors”-使用此标志需要我想要避免的其他逻辑,我甚至不知道此标志是否可以帮助我。


也许你们中的一些人也遇到过类似的情况并解决了这个问题?

如果您想在客户端上看到原始错误消息,请将错误模式设置为详细错误。这样,无论错误是什么,您都会看到原始错误消息以及调用堆栈之类的东西!我的目的不是在客户端上查看原始消息,而是只查看400状态代码的错误消息,以及我希望查看在httpErrors中设置的自定义消息的任何其他代码的错误消息。