0

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

知道在此期间可能会变质吗?

4

1 回答 1

0

自我回答:

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

app.use(app.router);

我在 csrf 演示中读到了这种用法。但是不知道有没有必要。当我注释掉该行时,Csrf 中间件功能似乎没有受到影响,并且 Heroku 重定向像以前一样工作。

于 2013-08-19T14:09:28.053 回答