0

これらによると: https://gist.github.com/2266544Now.js でのセッションのサポート

このコードは、NowJS の clientId、Cookie、およびセッションを返す必要があります。

nowjs.on('connect', function() { console.log(this.user); })

しかし、私が得たものは次のとおりです。

{ clientId: 'something', cookie: { } }

Cookie フィールドが空です。セッションエントリはありません (私が読んだのは公式の問題です)。

追加情報

ExpressJS、PassportJS、Mongoose、session-mongoose も使用しています。Express を構成した後、NowJS を初期化しました。

質問

Cookie フィールドが空であるのはなぜですか? また、どうすればデータを入力できますか?

4

1 に答える 1

0

何時間もフラストレーションを感じた後、クロス ドメイン リクエストと見なされるポート 3000 をリッスンしていたため、Cookie が送信されていないことに気付きました。リッスンされているポートは、Cookie を設定した http サーバーである必要があります。

Apache がポート 80 をリッスンする Dreamhost を使用していますが、バインドを解除したり、ポート 80 にバインドしたりすることはできません。しかし、ポート 8080 をリッスンすることでこれを解決できました。

ポート 8080 をリッスンするように設定すると、Cookie が正常に送信されました。

編集

これは短時間しか機能しませんでした。理由がわからない。しばらくすると Cookie が送信されなくなりました。

編集 2

これは、80 から 8080 へのプロキシ転送 (「dreamhost プロキシ」の場合は google) をセットアップした後、再び機能しました。基本的にApacheをNodeの前に置きます。

于 2012-09-24T00:28:42.940 に答える