Último primeiro: Para vários serviços autenticados pelo SPNEGO no mesmo host, sem mexer nas chaves de registro do IE, use nomes diferentes.
•How does Kerberos authentication work for IIS when there is no SPN for HTTP/canonical.host.name defined using (as checked via setspn -Q)? Clients still request and receive tickets for exactly this SPN.
Este é um fallback automático com base no HOST\boxname
SPN, que é criado para todos os computadores no momento da associação do domínio - se o DC não encontrar uma correspondência para SPECIFICSERVICE \ boxname, conforme solicitado pelo aplicativo cliente, ele será fornecer um ticket com base no HOST \ boxname.
Use SETSPN -L boxname
para listar os SPNs associados a uma entidade de segurança (conta de usuário ou computador).
•Out of interest, we tried running the application pools with the identity of the Java service that successfully authenticates. It still did not work as long as the SPN was defined - attempts to authenticate with a Kerberos ticket failed with a KRB_AP_ERR_MODIFIED returned. Running the application pool as the user that the SPN was registered to did not change this behaviour.
O padrão para o IIS 7 é com useAppPoolCredentials = false e useKernelMode = true; um ou ambos têm que ser alternados para que a identidade do pool de aplicativos seja usada para decodificar tíquetes kerberos.
•Microsoft specifies SPNs to include a port number, but IE does not conform to this and never sends a port number in the SPN (Firefox and Chrome follow in this behaviour).
E voltando ao ponto crucial: quando tudo estiver corrigido, o IE e outros ainda não incluirão números de porta por padrão, então a solução de menor modificação é simplesmente executar cabeçalhos de host diferentes na mesma caixa. .
Note também que, devido a outro comportamento do IE (com o mesmo argumento contra a alteração das configurações de registro de todos os seus clientes), os CNAMEs não são uma boa escolha, use os registros A.