Ошибки HTTP.SYS 400 от случайных URL-адресов на ферме SharePoint 2016 On Premises - PullRequest
0 голосов
/ 04 декабря 2018

Здесь немного убыток.

Я присматриваю за крупной фермой SharePoint 2016 с около 12 000 000 документов.

Они существуют примерно в 15 очень хорошо организованных центрах документов, и все они очень близко следуют рекомендациям Microsoft в отношении крупномасштабных документов.хранилище.

Потребовалось время, чтобы отследить, но похоже, что HTTP.SYS на любом из двух веб-интерфейсов выбрасывает HTTP 400 для случайных URL.

Я не вижулюбые шаблоны.Большинство URL работают, некоторые нет.

Например, для простоты используя 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. Использование имени хоста также не помогает. На самом деле все эти примеры - простой HTTP GET для файла с заданным URL-адресом.)

Некоторые URL работают.Другие нет.Некоторые файлы в одной папке работают, некоторые - нет.

Странно, если я вставляю URL-адреса непосредственно в веб-браузер, они всегда работают.

Я ничего не вижу в журналах IIS.Запросы никогда не доходят до IIS.

В журналах HTTPERR я вижу 400 неверных запросов, но дальнейших объяснений нет, почему.

Я не вижу ничего полезного в журналах событий Windows (кто когда-либо делает?).

Я попытался изменить параметры реестра MaxFieldLength и MaxRequestBytes, которые управляют HTTP.SYS до их максимальных значений, как описано в https://support.microsoft.com/en-us/help/820129/http-sys-registry-settings-for-windows,, но это не имеет никакого эффекта.

Что я заметил, так это то, что wget выше работает, если я запускаю его непосредственно на одном из веб-серверов, тогда как все остальное извне (например, с клиентского компьютера) дает сбой.

Это заставляет меня думать, что этокакая-то странная проблема аутентификации или проблема, связанная с сетью, которая не относится к моей области знаний.

Есть мысли, улей разума?

...