2015-10-09 15 views
5

私はthis answerthis answerを見ましたが、サイコロはありませんでした。私の問題は、私のアプリにhttps://appname.herokuapp.comでアクセスすると、すべてうまくいきます。 (どちらのCloudFlareエイリアスがhttps://appname.herokuapp.com)にアクセスすると、それは分解されます。安全なクッキーnode.js + Heroku + CloudFlare

特に、ユーザーがログインすると、認証は正しく処理されますが、ユーザーセッションCookieが正しく設定されていません。したがって、ログインしているユーザーが次の画面に転送されると、要求は許可されていないとして拒否されます。

今私は急行でこれをやっている:

var mySession = session({ 
    key: "sid", 
    secret: process.env.SESSIONS_SECRET, 
    proxy: true, 
    cookie: { 
     maxAge: 86400000, 
     secure: true, 
    }, 
    store: rDBStore, 
    resave: false, 
    saveUninitialized: true, 
    unset: 'destroy' 
}); 

app.enable('trust proxy'); 
app.use(mySession); 

私は自分のノードのコードで何かが足りない、または私のCloudFlareの設定でいるだろうか?

+0

私は同じ問題を持っています。あなたはこれを解決しましたか? – Marc

+0

@Marc、いいえ残念なことに決して行ったことはありません。 – BarthesSimpson

答えて

0

CloudFlareがノードアプリケーションをプロキシの背後に配置することに関連する可能性はありますか? expressjs /セッションの資料より引用

プロキシの後ろにあなたのNode.jsを持って、安全な使用している場合はtrueを、あなたは急行で「信頼プロキシ」を設定する必要があります。

app.set('trust proxy', 1)

https://github.com/expressjs/session#cookiesecure

関連する問題