2016-04-07 7 views
0

RedisToGoでHerokuでsocket ioを使用しようとしています。ローカル環境では、すべてが問題ありません。Herokuでredisでsocket.ioを使用できない

私はHerokuのに自分のコードを展開するとき、私は、ブラウザからのデータを、以下で400不正な要求を取得していますほとんどの時間:

{"code":1,"message":"Session ID unknown"} 

私のRedisの設定は次のとおりです。

var url = "redis://redistogo:[email protected]:xxxx/"; 
var rtg = require("url").parse(url); 

var pub = redis.createClient(rtg.port, rtg.hostname, {return_buffers: true}); 
var sub = redis.createClient(rtg.port, rtg.hostname, {return_buffers: true}); 
pub.auth(rtg.auth.split(":")[1]); 
sub.auth(rtg.auth.split(":")[1]); 

var redisOptions = { 
    pubClient: pub, 
    subClient: sub, 
    host: rtg.hostname, 
    port: rtg.port 
}; 

io.adapter(ioredis(redisOptions)); 

何問題ですか?

答えて

1

問題は、Herokuがwebsocketトランスポートのみを受け入れることでした。サーバーとクライアントの両方でwebsocketにトランスポートを設定すると、問題が解決しました。

0

セッションID不明エラーを修正する必要がHerokuのアプリでセッションアフィニティを有効にするには、

heroku features:enable http-session-affinity 
を実行することによってこれを行うことができます
関連する問題