3

何らかの理由で、http-proxy により、socket.io ベースの websocket 接続が 2 分ごとに再接続されます。再接続前のメッセージは、クライアントとサーバーの間で正常に機能しています。プロキシをバイパスすると、websocket 接続は再接続なしで機能します。プロキシ構成は非常に基本的なものであり、nodejitsu の例に従います。

var http = require('http'),
  httpProxy = require('http-proxy');

var options = {
  hostNameOnly: true,
  router: {
    'example.com/sockets/': '127.0.0.1:9001'
  }
};

var proxyServer = httpProxy.createServer(options);
proxyServer.listen(80);

また、構成でタイムアウト オプションを変更しようとしましたが、再接続の問題には影響しません。

timeout: 120000 // override the default 2 minute http socket timeout value in milliseconds

ソフトウェア バージョン: Ubuntu 12.04 サーバー、node.js 0.8.16、http-proxy 0.8.7、socket.io 0.8.7。

これは、dev Mac (10.8.3) および Ubuntu デスクトップ 12.04 (virtualbox) では完全に機能しますが、サーバーでは機能しません。

4

1 に答える 1