我在端口3100上運行Express.js(v 2.5.8)(節點v0.6.12)服務器。它由Nginx前端實現,它將http和https請求同時代理爲端口3100.通過https在高速/節點上強制請求
我想通過https強制某些URL。下面是一個例子(應用程序是我的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的正確方法?
這看起來對我來說是正確的解決方案。謝謝! – 2012-03-15 22:01:10
X-Forwarded-Proto標題確實是一個隱藏的寶石。修正它,謝謝。 – 2015-04-12 07:45:14