Redisを使ったアプリを作っています。Ubuntu 12.04 を実行しているコンピューターでは問題なく動作しますが、CloudFoundry ではエラーが発生します。
アプリのコードは次のとおりです。
var
http = require("http"),
redis = require("redis"),
cf = require("cloudfoundry");
cf.cloud;
if (cf.redis["myredisservice"]) {
var rport = cf.redis["myredisservice"].credentials.port;
var rhost = cf.redis["myredisservice"].credentials.hostname;
} else {
var rport = 6379;
var rhost = "127.0.0.1";
}
http.createServer(function(req, res) {
var client = redis.createClient(rport, rhost);
res.writeHead(200, {"Content-Type": "text/html"});
client.on("error", function(error) {
res.write("Error: " + error);
});
res.write("Setting key 1<br>");
client.set("key1", "My 1st String!", redis.print);
res.write("Getting key1<br>");
client.get("key1", function(error, reply) {
res.write("Results for key1<br>");
res.write(reply);
client.end();
res.end();
});
}).listen(cf.port || 3000);
CloudFoundry でこのアプリを実行すると、次の出力が得られます。
設定キー 1
key1 の取得
エラー: エラー: レディチェックに失敗しました: ERR 操作は許可されていません
CloudFoundry で指定されたポートとホスト名を使用して、Redis サービスに接続されていることを確認できます。
したがって、これらのコマンドの1つが原因で失敗したと思います。:(
なぜこのエラーが発生するのか、誰か教えてもらえますか?
ありがとう。:D