为什么我的 npm 请求模块在 tonicdev 中工作,但在 OpenShift 云中的 Node 应用程序中不工作?

Why does my npm request module work in tonicdev but not in my Node app in OpenShift cloud?

我有一个 Node Express 应用程序,运行在 OpenShift 云上没有问题。它接受 router.post 和 router.get 就好了。但我希望 OpenShift 应用程序也 post 一些数据到 Raspberry Pi,这也是 运行 一个 Node 和 Express 应用程序。为此,我在 OpenShift 应用程序上使用了 Node npm 请求模块。当我 运行 它在 http://tonicdev.com 的节点开发 space 中时,它工作得很好。它将其 JSON 数据发送到树莓派,树莓派接受并处理它。

但是当我 运行 在 OpenShift 云中的节点应用程序中使用完全相同的请求代码时,它会崩溃并出现 EACCES 错误。请注意,我正在使用 request-debug 模块,它会在崩溃前立即显示请求模块 headers。正如预期的那样。

OpenShift 环境中到底发生了什么改变了请求模块的执行导致它崩溃,我该如何解决?

OpenShift Online 目前有一个可接受的出站端口白名单,3000 端口可能不在列表中。我们可以将端口添加到列表中,但通常我们只对众所周知的服务端口执行此操作。你能运行 远程服务在不同的端口(例如 80 或 8080)吗?