IIS Express – HTTP Error 400. The request hostname is invalid.

The following is the fix for the error “HTTP Error 400. The request hostname is invalid” when trying to browse an IIS Express site using a different host name or IP address.

1. Exit the IIS Express instant currently running.

2. Open IIS Express’s applicationhost.config located at the following path C:\Users\<user>\Documents\IISExpress\config\applicationhost.config

3. Find the entry for a particular site (e.g “Test” running in port 6306) which you are developing.

e.g.

<site name="FlickrTest" id="10">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="E:\Projects\BB Apps\FlickrTest" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:6306:localhost" />
    </bindings>
</site>

4. Replace the following

bindingInformation=”*:6306:localhost” with bindingInformation=”*:6306:*

5. Save the file.

6. Start a command prompt in administrator mode and run the following command.

netsh http add urlacl url=http://*:6306/ user=Everyone

7. Now debug the site again and you should be able to access the url using IP address or host name.