Http Error 400 – Bad request – Invalid Header

Tytułowy błąd może zostać wyświetlony na witrynie SharePointa 2010 w sytuacji zastosowania uwierzytelniania za pomocą protokołu Kerberos. Scenariusz taki stosujemy w wypadku, gdy chcemy zapewnić mechanizm Single Sign On w połączeniu dodatkowego systemu do SharePointa. Mechanizm taki możemy wykorzystywać np. łącząc się do zewnętrznych danych w raporcie pliku Excel prezentowanego za pomocą Excel Services. Niestety domyślna konfiguracja środowiska może generować błąd HTTP Error 400 – Bad request – Invalid Header. W takiej sytuacji wymagane są dodatkowe prace.

nod4

http400error

Scenariusz 1 – Rekonfiguracja rozmiaru nagłówka IIS

Domyślna konfiguracja IISa niestety może nie obsługiwać rozmiaru nagłówka http, co może skutkować wyświetleniem błędu. W takim wypadku konieczne jest zmodyfikowanie rejestrów systemowych. Na każdym serwerze Fronton farmy SharePoint należy dokonać następującej zmiany:

  • Otworzyć ścieżkę HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
  • Dodać dwa nowe parametry DWORD:
    • MaxFieldLength – o wartości: 65534
    • MaxRequestBytes – o wartości: 16777216

Po dodaniu tych elementów konieczne jest zrestartowanie wszystkich serwerów.

Większość przypadków występowania tego błędu powinna zostać usunięta po tych pracach.

Scenariusz 2 – Weryfikacja oprogramowania antywirusowego

Drugim scenariuszem generującym występowanie takiego błędu może być nieprawidłowa praca systemu antywirusowego po stronie komputera klienckiego. Na dzień dzisiejszy co najmniej klika wersji antywirusów generowało problemy z uwierzytelnianiem Kerberos na witrynach IIS. Jednym z antywirusów, który generuje taki problem jest ESET NOD32 Antivirus 4. Niestety problem został usunięty dopiero w wersji 5. 

Jeśli po stronie klienta znajduje się inny antywirus również zalecam weryfikację działania SharePointa z wyłączonym monitorowaniem ruchu sieciowego.

Leave a Reply

Your email address will not be published. Required fields are marked *