For me this problem was due to a misconfiguration in the project which manifested itself in IISExpress’ applicationHost.config file.
I had both the http and https ports setup as the same.
<site name="{projectname}" id="3">
<application path="https://stackoverflow.com/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="https://stackoverflow.com/" physicalPath="{myPath}" />
</application>
<bindings>
<binding protocol="https" bindingInformation="*:57287:localhost" />
<binding protocol="http" bindingInformation="*:57287:localhost" />
</bindings>
</site>
To solve this edit the project file to correctly use different ports.
Another option is to delete the applicationHost.config file, Visual Studio will recreate it when it fires up IISExpress. It won’t solve a project misconfiguration but it might solve a currupt configuration which I’ve had to do a few times.
*Note: * To find your applicationHost.config file for IIS see this question Where is the IIS Express configuration / metabase file found?