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.


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...

eg. 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.

  • In the Chrome address bar type "chrome://net-internals/#hsts"
  • At the very bottom of a page is QUERY domain textbox - verify that localhost is known to the browser. If it says "Not found" then this is not the answer you are looking for.
  • If it is, DELETE the localhost domain using the textbox above
  • Your site should now work using plain old HTTP
  • 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 Delete domain security policies

    在这里输入图像描述

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


    I experienced the same problem in Chrome and I tried unsuccessfully to use BigJump's solution.

    I fixed my problem by forcing a hard refresh, as shown in this blog (originally from this SuperUser answer).

    Ensure your address bar is using the http scheme and then go through these steps, possibly a couple of times:

  • Open the Developer Tools panel (CTRL+SHIFT+I)
  • Click and hold the reload icon / Right click the reload icon.
  • A menu will open.
  • Choose the 3rd option from this menu ("Empty Cache and Hard Reload")

  • NEW DEVELOPMENTS! (if you have Chrome 63+)

    If your localhost domain is .dev then I don't think the previously accepted and working answers no longer apply. This is because as of the Chrome 63 Chrome will force .dev domains to HTTPS via preloaded HSTS.

    What this means is, .dev basically won't work at all anymore unless you have proper signed SSL certificate -- no more self signed certificates allowed! Learn more at this blog post.

    So to fix this issue now and to avoid this happening again in the future .test is one recommended domain because it is reserved by IETF for testing / dev purposes. You should also be able to use .localhost for local dev.

    链接地址: http://www.djcxy.com/p/66990.html

    上一篇: Chrome无法加载CSS源地图?

    下一篇: Google Chrome将localhost重定向到https