Temos um servidor IIS que fica atrás de um balanceador de carga do NSX.
Estamos usando o NTLM para autenticar com o IIS, mas ele só funciona se eu acertar o servidor diretamente, e não se eu o atingir no balanceador de carga. Isso vem do mesmo navegador, atingindo diferentes endpoints.
Eu coloquei o TCPTrace entre o balanceador de carga e o IIS, e a principal diferença no tráfego que eu pude ver foi que, vindo do balanceador de carga, o Connection: close
HTTP head estava definido, enquanto indo diretamente, ele estava definido para o normal keep-alive
. Eu então pesquisei o NTLM um pouco mais, e acontece que ele é orientado a conexões, então Connection: close
não é uma opção.
É possível que o balanceador de carga esteja alterando o cabeçalho? Ele é configurado somente através da interface do usuário do VMWare / NSX e não há nada incomum nessa configuração.
Outra informação: o balanceador de carga é um ponto de extremidade HTTPS; o IIS está escutando em HTTP (como era o TCPTrace).
EDIT: as seguintes regras (de aqui [PDF] , página 43) foram aplicados ao balanceador de carga, sem efeito:
no option http-server-close
no option httpclose
Tags haproxy iis http ntlm vmware-nsx