DisableLoopBackCheck when routing through a Load Balancer (PowerShell sample included)
This post on this blog are provided “AS IS” with no warranties - Editing of the Registry is at your own risk.
Quick Summary
This has been fleshed out so many times and detailed very well by
The only recommended approach to correctly apply this change on Production is as per Method 1 as per the KB article (Spencer also reminds you, DO NOT DO Method 2 on a production server)
Why do we need more Info when a Load Balancer is Involved
The layout of entries is important and it must include the Load Balanced URL so see below.
I also include a PowerShell command to add the entries - this is particularly helpful when you have a few servers and a lot of URL's.
Antivirus software on a Server can block you.
What to do
The KB support is here https://support.microsoft.com/kb/926642
(EXTRACT FROM THE KB ARTICLE ABOVE)
Method 1: (Editing the Registry is dangerous so make sure you know what you are doing and have a back-up)
To do this, follow these steps for all the Web Front end Servers in the Farm (I complete this on all servers in the Farm in case I promote an App Server to become a WFE server)
- Click Start, click Run, type regedit, and then click OK.
- Locate and then click the following registry subkey: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- Right-click MSV1_0, point to New, and then click Multi-String Value.
- In the Name column, type BackConnectionHostNames, and then press ENTER.
- Right-click BackConnectionHostNames, and then click Modify.
- In the Value data box, type the CNAME or the DNS alias, that is used for the local shares on the computer, and then click OK.
Note Type each host name on a separate line.
Note If the BackConnectionHostNames registry entry exists as a REG_DWORD type, you have to delete the BackConnectionHostNames registry entry.
- In the Value data box, type the CNAME or the DNS alias, that is used for the local shares on the computer, and then click OK.
- Quit Registry Editor, and then restart the IISAdmin service.
(Open Services.msc and restart the IISAdmin Service - if you still have the issue then the server will need to be restarted -Schedule after hours)
NB: My 5 cents on the above:
-
- Ensure the Host Names are on a separate line with no characters or spaces inbetween (My examples below)
mytest.sharepoint.com
test.sharepoint.com - Make sure you add the URL that is used by the Load Balancer otherwise you will still be prompted (My example below - this is dependent on how your redirection is configured)
myloadbalancer.sharepoint.com
- Ensure the Host Names are on a separate line with no characters or spaces inbetween (My examples below)
PowerShell example to add your URL's so you don't have to add each one manually:
New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0 -Name "BackConnectionHostNames" -value "mytest.sharepoint.com`r`ntest.sharepoint.com`r`nmyloadbalancer.sharepoint.com" -PropertyType MultiString
Simply replace your URL's where mine are and add any additional URL's making sure you include the New Line and Carriage Return characters `r`n inbetween each URL.
NB - ANTIVIRUS
Some Antivirus software will block both Manual and PowerShell editing of the Registry for the root below \Lsa.
You may have to temporarily disable the Antivirus whilst making these changes.
Comments
- Anonymous
January 01, 2003
Thank you for the useful information. - Anonymous
January 01, 2003
Teodora, glad it helped. Jason, yes it does. The only time when it may not be required is if you configure SPN's for all servers and configure everything to run Kerberos which doesn't really make sense. There is a good article explaining it further here.https://marclsitinfrablog.wordpress.com/2013/01/03/windows-the-confusion-over-disableloopbackcheck-disablestrictnamechecking-and-kerberos/ - Anonymous
September 29, 2014
There are many PowerShell scripts available to warm up SharePoint environments but they do not all handle - Anonymous
March 26, 2015
Is this still necessary with web applications configured for claims authentication? - Anonymous
November 28, 2017
Here is another way to use PowerShell to add host names:$HostNames = @()$HostNames += "sharepoint.contoso.com"$HostNames += "search.sharepoint.contoso.com"$HostNames += "admin.sharepoint.contoso.com"New-ItemProperty "hklm:SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0" -Type MultiString -PSProperty BackConnectionHostNames -Value $HostNames- Anonymous
November 29, 2017
Thanks Robert
- Anonymous