当我调试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

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


当前回答

一个简单的解决方案是编辑/etc/hosts文件,并为每个项目建立一个别名。

127.0.0.1   project1 project2 project3

除非发送@bigjump提到的HSTS响应,并且如果在项目之间来回更改,还可以维护登录会话,否则这些无域名称永远不会有HSTS问题。

其他回答

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

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

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

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

不幸的是,这里列出的解决方案都不能帮助我解决这个问题。我通过使用http://127.0.0.1 (ip地址)而不是http://localhost修复了这个问题。一个用chrome浏览器进行角开发的小技巧。

对于像我这样在本地主机上运行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()
    }
  })

我也一直在这个问题上挣扎。看来HSTS只针对域名。所以如果你是在本地机器上开发,使用IP地址要容易得多。所以我从localhost切换到127.0.0.1

以我为例,我在Mac电脑上使用浏览器同步,浏览器不断将http://localhost:3000重定向到https://localhost:3000。

我正在使用代客服务本地网站,我已经运行代客安全在本地*。因为我在浏览器同步中代理这个HTTPS域,所以浏览器正在用HTTPS加载localhost:3000。

为了解决这个问题,我不得不:

运行valet unsecure删除SSL证书 运行代客重启 重启browser-sync 在浏览器中打开localhost:3000(在我的情况下,Vivaldi是一个Chromium浏览器) 开放开发人员工具 勾选“网络”选项卡上的“禁用缓存” 刷新页面