【发布时间】:2018-01-10 01:59:16
【问题描述】:
我正在尝试在 Azure 上部署 PeerJS 服务器。在我的 kudu 控制台上,运行
node peerjs --port 9000
返回
Started PeerServer on ::, port: 9000, path: / (v. 0.2.8)
但是,当我尝试从客户端代码连接到服务器时,我收到 404。在我的浏览器中直接访问 appname.azurewebsites.net/peerjs/id 也会返回 404。
我在他们的 package.json 文件中看到,他们运行
bin/peerjs --port ${PORT:=9000}
而不是直接传入9000;我假设这是一个环境变量。但是,尝试在 Azure 上运行它会给出
Error: Error: listen EACCES ${PORT:=9000}
我认为这意味着 Azure 不会将 ${PORT:=9000} 识别为有效端口。
我知道我的客户端代码没有任何问题,因为 a) 我直接从 PeerJS 的网站复制了它,并且 b) 当我将 PeerJS 部署到 Heroku 时一切正常。它只是不在 Azure 上运行。
我尝试过的其他事情:我在 bin 文件夹中编辑 peerjs 以使用 process.env.PORT 而不是通过命令行传入的内容,但这不起作用,给出了相同的 EACCES 错误。当我尝试 console.log(process.env.PORT) 时,我没有定义。我的 Google 搜索都没有找到任何解决方案,尽管这个人 (Custom PeerJs Server giving ERR_CONNECTION_TIMED_OUT) 似乎有类似的错误,而不是在 Azure 上。
【问题讨论】:
-
这将是防火墙问题...您需要在 Azure 设置面板中打开端口 9000