除了localhost之外,将http重定向到https

时间:2016-12-06 08:09:14

标签: javascript node.js express nginx

我已将node.js应用移至https。我通过nginx反向代理设置https。我有一个问题,当我进入example.com时,它没有重定向到https://example.com。所以我尝试在我的app.js中编写这段代码

app.get('*', function(req, res, next) {
  if (req.headers.host.indexOf('localhost') > -1 || req.secure) {
    return next();
  }else{
    res.redirect('https://'+req.hostname+req.url);
  }
});

当我重新部署任何线索时,它都不起作用?

1 个答案:

答案 0 :(得分:0)

如果您使用app express模块​​并且想要使用'/'响应,那么请按照以下条款进行简单的案例检查:

app.get('/', function(req, res, next) {
  if (req.headers.host.indexOf('localhost') > -1 || req.secure) {
    return next();
  }else{
    res.redirect('https://google.com');
  }
});

用它检查你的代码。它完全运行然后如果你想要监听安全服务器然后使用安全方式创建具有exress的服务器,如

var secureServer = require('https').createServer(httpsOptions, app);

httpsOptions数据是您的证书文件和密钥文件