If you deploy an ASP.NET website on Windows 2008 that uses Integrated Authentication AND you are using host headers – then when you try to browse on the server itself you will be given a 401.1 error.
This often leads users to go looking at the local access rights etc on the server as it’s as if the user just can’t read the directory.
In fact this is caused by a ‘loopback’ check that Windows 2008 (and 2003 + SP1) has in order to prevent reflection attacks on your server.
If you access the site remotely it works fine – however this can be a real pain whilst debugging! It can also cause problems if (for example) you have a second site on the same server that exposes a service the first site requires and you are also accessing it via a FQDN.
The answer to this issue can be found here:
In brief, the fix is:
- Set the
registry entry to 1. For more information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:281308 Connecting to SMB share on a Windows 2000-based computer or a Windows Server 2003-based computer may not work with an alias name
- Click Start, click Run, type regedit, and then click OK.
- In Registry Editor, locate and then click the following registry key:
- Right-click MSV1_0, point to New, and then click Multi-String Value.
- Type BackConnectionHostNames, and then press ENTER.
- Right-click BackConnectionHostNames, and then click Modify.
- In the Value data box, type the host name or the host names for the sites that are on the local computer, and then clickOK.
- Quit Registry Editor, and then restart the IISAdmin service.
A quick fix, that can stop hours of scratching your head!