Heroku http到https转发问题

时间:2013-08-19 13:39:32

标签: node.js heroku https express

在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://...和友好的绿色挂锁。

有什么想法可以在过渡期间发生什么变化?

1 个答案:

答案 0 :(得分:0)

自答案:

在csrf实施过程中的某个地方,我对app.configure部分进行了以下更改:

app.use(app.router);

我在csrf演示中读过这个用法。但我不知道是否有必要。当我评论该行时,Csrf中间件功能似乎不受影响,并且Heroku重定向像以前一样工作。