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();
    }
});

それは機能し、私は満足し、MemoryStorage の代わりに Redis-to-go を実装し、次に csrf ミドルウェアを実装しました。これらの機能は両方とも機能していますが、以前はキャッチされてフレンドリーな緑色の南京錠http://...に自動転送されていたのに対し、アプリにアクセスできることがわかりました。https://...

その間に何が酸っぱくなったのか、何か考えはありますか?

4

1 に答える 1

0

自己回答:

csrf 実装プロセスのどこかで、app.configureセクションに次の変更を加えました。

app.use(app.router);

csrfデモンストレーションでこの使用法を読んだでしょう。でも必要かどうかはわかりません。その行をコメントアウトすると、Csrf ミドルウェア機能は影響を受けないように見え、Heroku リダイレクトは以前と同じように機能します。

于 2013-08-19T14:09:28.053 に答える