google-chromehttpslocalhost

Google Chrome redirecting localhost to https


When I debug a Visual Studio project using Chrome the browser tries to redirect to the https equivalent of my web address. I do not have SSL enabled in the web project and the start URL is the http URL. When I debug using FireFox or IE I do not have this problem.

I did re-install Chrome which fixed the problem for a day. Without downloading any addons the problem happened again the next day.

What is making Chrome redirect localhost to https?

Network Inspect Shows: Request URL:data:text/html,chromewebdata Request Headers Provisional headers are shown User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36

No preview and no response data in those tabs.


Solution

  • I believe this is caused by HSTS - see http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

    If you have (developed) any other localhost sites which send a HSTS header ...

    e.g. Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

    ... then depending on the value of max-age, future requests to localhost will be required to be served over HTTPS.

    To get around this, I did the following.

    This is not a permanent solution, but will at least get it working between projects. If anyone knows how to permanently exclude localhost from the HSTS list please let me know :)


    UPDATE - November 2017

    Chrome has recently moved this setting to sit under the section

    Delete domain security policies

    enter image description here


    UPDATE - December 2017

    If you are using .dev domain see other answers below as Chrome (and others) force HTTPS via preloaded HSTS.