来自本地服务器场上的SharePoint 2016上的随机URL的HTTP.SYS 400错误

时间:2018-12-04 05:22:41

标签: iis sharepoint sharepoint-2016 http.sys

这里有点茫然。

我照顾一个大型的SharePoint 2016服务器场,其中包含大约1200万个文档。

它们存在于大约15个组织良好的文档中心中,所有文档中心都非常遵守Microsoft的大规模文档存储准则。

要花一段时间才能找到答案,但看来两个Web前端之一上的HTTP.SYS都会为随机URL抛出HTTP 400。

我看不到任何图案。大多数网址都可以使用,有些则不能。

例如,为简单起见,使用wget和curl,我从这种情况中得到随机失败:

$Credentials = Get-Credential
wget "http://wfe.ip.address.here/managedpath/doccentresitename/Documents/11-27/big long file name but with no illegal characters.pdf" -outfile _test.pdf -Credential $Credentials

curl -v -o _test.pdf "http://wfe.ip.address.here/managedpath/doccentresitename/Documents/11-27/big long file name but with no illegal characters.pdf" -u 'username:password' --ntlm

(我正在使用上面的IP地址绕过我们的NGiNX负载均衡器。使用主机名也会失败。实际上,所有这些示例都是在给定URL上对文件进行简单的HTTP GET。)

某些URL有效。其他人没有。同一文件夹中的某些文件可以工作,有些则不能。

奇怪的是,如果我将URL直接粘贴到Web浏览器中,它们将始终有效。

我在IIS日志中什么也看不到。请求永远不会到达IIS。

在HTTPERR日志中,我可以看到400错误的请求,但没有进一步说明原因。

我在Windows事件日志中看不到任何用处(谁做过?)。

我曾尝试将控制HTTP.SYS的MaxFieldLength和MaxRequestBytes注册表设置提高到https://support.microsoft.com/en-us/help/820129/http-sys-registry-settings-for-windows中所述的最大值,但这没有效果。

我注意到的是,如果我直接在其中一台Web服务器上运行它,则上面的wget可以正常工作,而其他任何外部(即来自客户端计算机)的wget都失败。

这使我认为这是某种奇怪的身份验证问题或与网络相关的问题,这不是我的专业领域。

有什么想法,很高兴吗?

0 个答案:

没有答案