Node.js req.secure如何检查传入请求是否用于安全服务器或不在https安全通信中?

Node.js req.secure如何检查传入请求是否用于安全服务器或不在https安全通信中?,node.js,security,express,https,Node.js,Security,Express,Https,在传入请求消息上设置了req.secure。因此,req.secure将设置为true。在这种情况下,传入的请求已到达安全服务器。所以,其余的处理可以照常进行。如果传入的请求是针对不安全的服务器,即本地主机colon 3000,那么我将使用express中提供的名为res.redirect的函数。因此,我将此请求设置为说HTTPS/。所以我想知道如何将所有http请求重定向到HTTPS?how req.secure检查请求是针对安全服务器还是针对不安全服务器 req.secure检查协议是否为H

在传入请求消息上设置了req.secure。因此,req.secure将设置为true。在这种情况下,传入的请求已到达安全服务器。所以,其余的处理可以照常进行。如果传入的请求是针对不安全的服务器,即本地主机colon 3000,那么我将使用express中提供的名为res.redirect的函数。因此,我将此请求设置为说
HTTPS/
。所以我想知道如何将所有http请求重定向到HTTPS?how req.secure检查请求是针对安全服务器还是针对不安全服务器

req.secure
检查协议是否为HTTPS,是否与以下协议相同:

app.all('*', function(req, res, next){
    console.log('req start: ',req.secure, req.hostname, req.url, app.get('port'));
  if (req.secure) {
    return next();
  };

 res.redirect('https://'+req.hostname+':'+app.get('secPort')+req.url);
});
有关更多信息,请参阅文档:

要强制将所有流量重定向到https,可以执行以下操作:

req.protocol === 'https'
如本文所述:

server.use('/path', function(req, res, next) {  
  if(!req.secure) {
    var secureUrl = "https://" + req.headers['host'] + req.url; 
    res.writeHead(301, { "Location":  secureUrl });
    res.end();
  }
  next();
});