当我调试Visual Studio项目使用Chrome浏览器尝试重定向到https相当于我的web地址。我没有在web项目中启用SSL,并且开始URL是http URL。当我使用FireFox或IE进行调试时,我没有这个问题。

我重新安装了Chrome浏览器,解决了这个问题一天。没有下载任何插件的问题再次发生了第二天。

什么是使Chrome重定向localhost到https?

网络巡检显示: 请求URL:数据:text / html, chromewebdata 请求头 显示临时标题 User-Agent:Mozilla/5.0 (Windows NT 6.3;WOW64) AppleWebKit/537.36 (KHTML,像Gecko) Chrome/36.0.1985.143 Safari/537.36

这些选项卡中没有预览和响应数据。


当前回答

@Adiyat Mubarak的回答对我没用。当我试图清除缓存并重新加载时,页面仍然重定向到https。

我的解决方案是:在url栏的右上角(就在收藏夹星形图标的左边)有一个带有“x”的图标。右键单击它,它会显示一些关于“不安全脚本”的内容,然后有一个选项可以加载它们。这样做。

其他回答

对于像我这样在本地主机上运行Node.js express服务器的人来说,我有这段代码可以将http重定向到https:

const server = express() 
  .use((req, res, next) => {
    if (req.headers['x-forwarded-proto'] != 'https') {
      res.redirect('https://' + req.headers.host + req.url)
    } else {
      next()
    }
  })

你必须确保它不会重定向localhost:

const server = express() 
  .use((req, res, next) => {
    if (req.headers['x-forwarded-proto'] != 'https' && req.headers['host'].indexOf("localhost") == -1) {
      res.redirect('https://' + req.headers.host + req.url)
    } else {
      next()
    }
  })

结果这个错误消息把我送进了兔子洞。

对我来说,问题是我试图在http上加载的页面未能返回响应(由于我的代码中的一个错误导致服务器崩溃)。

Chrome自动尝试https自动作为备份,而不是看到实际的错误(页面超时),我看到SSL错误,这是一个红鲱鱼。

修复底层服务器崩溃&导航回http://localhost:5000修复了我的问题。

我也面临着同样的问题,但只是在Chrome金丝雀和寻找一个解决方案,我发现了这篇文章。

下一个版本的Chrome将强制所有以。dev(和。foo)结尾的域通过预加载的HTTP严格传输安全(HSTS)头重定向到HTTPs。

{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },

所以,改变你的域名。

chrome://net-internals/#hsts 

在“删除域安全策略”中输入localhost,按“删除”键。

现在转到

chrome://settings/clearBrowserData 

选中“缓存的图像和文件”复选框,然后按“清除数据”按钮。

Chrome 63(自2017年12月发布)将强制所有以。dev(和。foo)结尾的域通过预加载的HTTP严格传输安全(HSTS)头重定向到HTTPS。你可以在这里找到更多信息。