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.
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:
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.
上一篇: Chrome无法加载CSS源地图?