Назад | Перейти на главную страницу

IIS ARR NTLM ntlmssp_negotiate

Это NTLM-аутентификация:

Get / -> HTTP 401
Get / ntlmssp_negotiate -> HTTP 401 ntlmssp_challenge
Get / ntlmssp_auth -> HTTP 200

Моя проблема в том, что ntlmssp_negotiate не проходит через корыто

Ожидаемое поведение:

Request
. 
Response


loadbalancer:80 Get /
node1:80 Get /
.
node1:80 HTTP 401 Unauthorized
loadbalancer:80 HTTP 401 Unauthorized

loadbalancer:80 Get / ntlmssp_negotiate 
node1:80 Get / ntlmssp_negotiate
.
node1:80 HTTP 401 ntlmssp_challenge
loadbalancer:80 HTTP 401 ntlmssp_challenge

loadbalancer:80 Get / ntlmssp_auth 
node1:80 Get / ntlmssp_auth 
.
node1:80 HTTP 200
loadbalancer:80 HTTP 200    

Фактическое поведение:

Request 
.
Response 

loadbalancer:80 Get /
node1:80 Get /
.
node1:80 HTTP 401 Unauthorized
loadbalancer:80 HTTP 401 Unauthorized

loadbalancer:80 Get / ntlmssp_negotiate 
. 
loadbalancer:80 HTTP 401 ntlmssp_challenge

loadbalancer:80 Get / ntlmssp_auth 
node1:80 Get / ntlmssp_auth 
.
node1:80 HTTP 401 Unauthoized
loadbalancer:80 HTTP 401 Unauthoized    

Как видите, loadbalancer не пересылает ntlmssp_negotiate к его узлам. Мне кажется, что балансировщик нагрузки разрешает сам без пересылки.

Конфигурация:

IIS 8.5
ARR 3.0
WIN 2012 R2 Standard

Но этого не происходит в конфигурации 2.

Конфигурация 2:

IIS 10
ARR 3.0
WIN 10 Enterprise

Может что-то в памяти было после установки ARR ...

после

c: \> iisreset

все работает нормально.