我最近尝试在 node/express 服务器上设置 HTTPS。我已经成功地使用以下代码重定向所有路由以使用 https:
// force https redirect
var https_redirect = function(req, res, next) {
if (req.secure) {
if(env === 'development') {
return res.redirect('https://localhost:3000' + req.url);
} else {
return res.redirect('https://' + req.headers.host + req.url);
}
} else {
return next();
}
};
app.get('*', function(req, res, next) {
https_redirect(req, res, next);
});
这似乎工作正常。但是,由于在我有几个问题之前我还没有涉足这个问题:
- 这是从 http 重定向到 https 的理想方式吗?
- 如果用户使用 http 路由,那么在重定向之前,任何人都可以使用 sslstrip 之类的东西来嗅探会话信息。
节点:v0.8.2;快递:v3.05