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

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


当前回答

另一种选择是使用类似https://github.com/rchampourlier/tunnelss的东西

当然,它增加了另一个依赖/设置,但它也允许在开发中测试https,这可能很好。

我使用RVM,然而,让隧道工作,我必须使用sudo宝石安装隧道和sudo隧道

其他回答

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

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

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

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

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

在我的例子中,我把我的项目路径设置为/Users/me/dev/project_root/,并从那里运行nodeJS/express服务器。 将我的路径重命名为/Users/me/project_root(将dev从项目路径中移除)解决了这个问题。

这很可能与这项新规定有关:

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

你可以在这里找到更多信息。

使用:

谷歌Chrome版本70.0.3538.110(正式版本)(64位) nodeJS v9.2.0

如果你碰巧在Wordpress网站上工作,在尝试了这个页面上的所有内容后,http://127.0.0.1/wp-admin仍然被重定向到https://127.0.0.1/wp-admin。试试这个:

进入wp-config.php并替换

定义(' WP_HOME ', ' https://example.com ');

define('WP_SITEURL','https://example.com');

to

定义(' WP_HOME ', ' http://127.0.0.1 ');

define('WP_SITEURL','http://127.0.0.1');

在Chrome和Firefox上测试。

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