Fixing Sharepoint 401.1 HTTP errors
English
Portuguese
Occasionally after you install Sharepoint you can get the 401.1 HTTP error when you try to navigate to Sharepoint on the same domain, but when you try to access for an external network, everything seems to work fine. This happens 'cause when you are on the same domain IIS believe that you should be authenticating using Kerberos Authentication, and, for external machines, IIS try to use NTLM first. Both Kerberos and NTLM Authentication are part of the "Integrated Windows Authentication" option on IIS. As you probally didn't want to use Kerberos authentication, you haven't edited the IIS metabase to configure the SPN (service principal name) account, and, because of this, the Kerberos Authentication will always fail. To solve this issue, you can disable the Kerberos for the website, and use just the NTLM authentication for both internal and external requests. To do so follow this steps: - Open the IIS Manager
- Expand the local computer and then click on Web Sites
- On the sites list, find the web site you want to change and take note of the Identifier column
- open the command prompt and navigate to the following folder: "C:\inetpub\adminscripts"
- run the following command:
adsutil GET W3SVC/YOURID/Root/NTAuthenticationProviders
change YOURID for your the ID of the website you want to change - If the command returns "Negotiate,NTLM" then Kerberos is active for the website, to change this, just run the same command again, but with the SET parameter instead of GET and with the NTLM parameter:
adsutil SET W3SVC/SEUID/Root/NTAuthenticationProviders NTLM
Em alguns casos, depois de instalar o Sharepoint você pode receber erros 401.1 quando estiver acessando o servidor na sua rede local, mesmo que tudo pareca estar funcionando perfeitamente quando você acessa de fora da rede. Isso acontece porque, quando você está na mesma rede, o IIS acredita que você pode enviar requisições usando autenticação Kerberos, enquanto que para máquinas que não pertencem ao mesmo domínio o IIS tenta utilizar autenticação NTLM primeiro. Ambos Kerberos e NTLM estão dentro da autenticação "Integrated Windows Authentication" do IIS. Como você provavelmente não queria utilizar o Kerberos, não editou a metabase do IIS para configurar o SPN (service principal name), e por isso, a autenticação kerberos vai sempre falhar. Para resolver isso a gente pode desabilitar a autenticação Kerberos, e utilizar somente a NTLM, para isso basta seguir os seguintes passos: - Abra o Gerenciador do IIS
- Expanda computador local e clique em Web Sites
- Na lista de sites, encontre o site que você deseja modificar e anote o Identificador do site
- abra o prompt de comando, e vá até o diretório C:\inetpub\adminscripts
- execute o seguinte comando:
adsutil GET W3SVC/SEUID/Root/NTAuthenticationProviders
troque SEUID pelo ID que você anotou no passo anterior. - Se o resultado do comando foi "Negotiate,NTLM" então o Kerberos está ligado, para alterar execute o mesmo comando, mas com o parâmetro SET ao invés de GET:
adsutil SET W3SVC/SEUID/Root/NTAuthenticationProviders NTLM