节点错误:URL重定向次数过多

时间:2018-03-13 20:15:15

标签: node.js amazon-web-services http express https

我正在尝试将所有HTTP流量重定向到HTTPS,但是继续进行#34;重定向太多次"错误。它在本地计算机上运行正常,但是当我使用AWS服务器访问URL时出现此错误。

app.use(function(req, res, next) {
  if(!req.secure) {
  return res.redirect(['https://', req.get('Host'), req.url].join(''));
}
  next();
});

app.get('/', function(req, res) {
  res.sendFile(path.join(__dirname + pathToUse + '/html/index.html'));
});

1 个答案:

答案 0 :(得分:1)

我使用的是ELB(弹性负载均衡器),以下代码有效:

app.use(function(req, res, next) {
  if((!req.secure) && (req.get('X-Forwarded-Proto') !== 'https')) {
    res.redirect('https://' + req.get('Host') + req.url);
  } else {
    next();
  }
});