Это 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
все работает нормально.