This is NTLM authentication:
Get / -> HTTP 401
Get / ntlmssp_negotiate -> HTTP 401 ntlmssp_challenge
Get / ntlmssp_auth -> HTTP 200
My problem is that ntlmssp_negotiate
is not pass trough
Expected Behavior:
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
Actual Behavior:
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
As you can see loadbalancer is not forwarding ntlmssp_negotiate
to its nodes. It seem to me that is resolved by loadbalancer it selft without forwarding.
Configuration:
IIS 8.5
ARR 3.0
WIN 2012 R2 Standard
But this is not happening on configuration 2.
Configuration 2:
IIS 10
ARR 3.0
WIN 10 Enterprise