在Heroku托管应用中使用Node / Express。我有一个http到https转发功能,已经工作但不再。
我已转发使用app.configure('production'
...:
app.configure('production', function() {
return app.use(function(req, res, next) {
if (req.header('x-forwarded-proto') !== 'https') {
return res.redirect("https://" + (req.header('host')) + req.url);
} else {
return next();
}
});
它工作正常,我很满意并继续实现Redis-to-go而不是MemoryStorage,然后实现csrf中间件。这两个功能都有效但现在我发现我可以通过http://...
访问我的应用程序,而在此之前它会被捕获并自动转发到https://...
和友好的绿色挂锁。
有什么想法可以在过渡期间发生什么变化?
答案 0 :(得分:0)
自答案:
在csrf实施过程中的某个地方,我对app.configure
部分进行了以下更改:
app.use(app.router);
我在csrf演示中读过这个用法。但我不知道是否有必要。当我评论该行时,Csrf中间件功能似乎不受影响,并且Heroku重定向像以前一样工作。