在Openshift云上打开自定义传出端口

时间:2016-05-18 15:56:37

标签: node.js networking permissions openshift steam

我正在尝试使用node-steam使应用程序工作,但遇到了一些问题。

它在我的本地计算机上工作正常,但是我收到以下错误,我的应用程序很快就崩溃了。

events.js:154
      throw er; // Unhandled 'error' event
      ^
Error: bind EACCES 0.0.0.0
    at Object.exports._errnoException (util.js:893:11)
    at exports._exceptionWithHostPort (util.js:916:20)
    at dgram.js:221:18
    at _combinedTickCallback (internal/process/next_tick.js:77:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

似乎通过端口27019打开与Steam服务器之一的连接,如何获得openshift以允许我的应用程序连接到该服务器?

1 个答案:

答案 0 :(得分:0)

您无法在OpenShift Online上绑定到所有接口(0.0.0.0)或localhost(127.0.0.1)。您必须绑定到分配给您的设备的IP地址,该地址可通过以下方式获得:

  1. 在代码function imageManipulation(inputId, method) { var inStream = Files.findOneStream({ _id: inputId }), gmread; if (method == 'crop') { gmread = gm(inStream); // Asnyc doesn't work gmread = Async.runSync(function(done) { gmread.size(function(err, size) { if (size.width > 900) { gmread = gmread.resize('900'); } done(null, gmread); }); }); } return gmread.stream('jpg', Meteor.bindEnvironment(function(err, stdout, stderr) { stderr.pipe(process.stderr); if (!err) { var outStream = Files.upsertStream({ _id: outputFileId }, {}, function(err, file) { if (err) { console.warn("" + err); } return; }); return stdout.pipe(outStream); } })); }); 中使用OPENSHIFT_NODEJS_IP环境变量(推荐)
  2. 通过SSH访问您的设备并使用process.env.OPENSHIFT_NODEJS_IP“命令查看"env + grep NODEJS_IP环境变量的值并将其静态包含在您的代码中(不推荐)