使用Azure ZipDeploy,我的Node.js应用程序应侦听哪个端口?

时间:2019-06-04 10:26:50

标签: node.js azure-web-sites

我有一个GraphQL节点api层,默认情况下,它侦听端口3001。

当我使用ZipDeploy将应用程序部署到Azure Web应用程序时,我无法访问任何终结点(例如/ graphql)。

我知道Azure Web Apps仅在80或443上侦听,但是在将我的应用程序配置为在其中任何一个侦听时出现错误。

2019-06-04 10:09:40 [32minfo[39m: Running a GraphQL API server at 
http://localhost:443/graphql
events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES :::443
    at Server.setupListenHandle [as _listen2] (net.js:1286:14)
    at listenInCluster (net.js:1334:12)
    at Server.listen (net.js:1421:7)

Azure中还有其他需要配置的内容吗?

谢谢, 杰夫

1 个答案:

答案 0 :(得分:0)

如果要部署到Azure Web App,则只有端口80443是面向公众的。这会映射到您的应用程序要监听的特定端口,可通过process.env.PORT进行检索。

如果您同时在Azure和本地中运行,则可以根据对问题中对端口3001的引用,轻松地管理所侦听的端口,诸如此类:

var port = process.env.PORT || 3001;
server.listen(port);