当我调试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
这些选项卡中没有预览和响应数据。
对于像我这样在本地主机上运行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()
}
})