【发布时间】:2012-03-31 22:14:23
【问题描述】:
我有一个 Express.js (v 2.5.8) (node v0.6.12) 服务器在端口 3100 上运行。它由 Nginx 前端,它将 http 和 https 请求代理到端口 3100。
我想通过 https 强制某些网址。这是一个示例(应用程序是我的 Express 服务器):
app.get('/applyNow', ensureSec, secure.showApplication );
ensureSec 是我试图用来检查连接是否通过 ssl 的函数:
function ensureSec(req, res, next) {
if (req.session.ssl == true) {
return next();
} else {
req.session.ssl = true;
res.redirect('https://' + url.parse(req.headers.referer).host +
url.parse(req.url).pathname);
}
}
重定向有效,但节点(在超时后)抛出错误,提示“无法 GET /applyNow
重定向到ssl的正确方法是什么?
【问题讨论】: