IIS7 拒绝 POST 请求并出现 400 错误

IIS7 拒绝 POST 请求并出现 400 错误

我有一个 Web 应用程序,用于处理来自 SAP 的发布请求。

这在其他拥有 win2k3 系统 (IIS6) 和 win2k8 (IIS7) 系统的客户上运行良好。

但是,在这个特定客户的网站上,IIS 响应了 400 错误,而没有调用我的 aspx 页面。事实上,我甚至没有在虚拟目录的 w3c 日志中看到它。

我确实使用网络监视器看到了该请求,因此我知道没有防火墙等正在吞噬该请求,而且据我所知,该请求的所有字段都是有效的(有“内容长度”,它看起来是正确的(这是发送一个 28K tiff 文件 - 不是 MIME 编码的,现在我想起来就觉得很奇怪了...)

有想法吗?

答案1

您可以检查该服务器上的 HTTPERR 日志。也许这篇博客文章包含有关如何解决问题的提示:

当内容长度增加时,ASMX POST 请求失败并出现 HTTP 400 错误

第一站是查看 IIS 框上的 HTTPERR 日志,其中报告了无效动词错误:

2009-03-09 21:30:53 10.1.48.56 42676 10.1.48.53 80 HTTP/0.0 Invalid - 400 - Verb - 

答案2

我们找到了答案,但对于非 SAP 用户来说它并不是很有用。

发出请求的程序是 SAP Front-End 客户端使用的名为 saphttp.exe 的实用程序。事实证明,客户使用的版本正是 SAP 报告的有此问题的版本 - POST 请求格式错误。我将我的实用程序版本复制到客户站点,它运行正常。

将其标记为 SAP 古怪之处。

答案3

是否有可能由其他网站处理?尝试“中断测试”。停止网站并查看响应是否发生变化。

如果没有日志条目,您就无法判断子状态代码是什么,这将有助于进一步排除故障。

答案4

我遇到了这种情况,结果发现我必须启用的功能是父路径。有点虚假的错误信息!

相关内容