【发布时间】:2013-10-07 01:33:13
【问题描述】:
我很难将 node.js 应用程序部署为 Azure 网站以侦听 SSL 的适当端口(在 Azure 环境中)。
在我可以控制端口的任何其他环境中提供 SSL 请求都没有问题并且工作正常。我不认为这是应用代码的问题(使用 Express,仅供参考)。
Azure 网站似乎将端口 80 流量从负载平衡器转发到任何可用端口,该端口在 process.env.PORT 变量中设置。
我在process.env 中没有看到任何与 SSL 流量相关的等效项,尽管已成功将证书加载到给定网站的 Azure 门户并配置了其绑定。
我的问题是:如何配置 Azure 以在端口 443 上输出必要的文件描述符?
我已经阅读了一些关于如何在云服务here 中配置工作人员的信息,但它似乎不适用于网站。
作为参考,当我尝试收听 443 或 process.env.PORT 时,我收到以下错误:
Application has thrown an uncaught exception and is terminated:
Error: listen EACCES
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1039:14)
at listen (net.js:1061:10)
at Server.listen (net.js:1127:5)
【问题讨论】:
-
您是否指定了要监听的地址?
-
对于那些好奇的人来说,一个普通的 http 服务器监听
process.env.NODE是你所需要的——除了没有 https 服务器。 -
@hexacyanide:不。好吧,我曾尝试将 azure PORT 与 https.Server 实例一起使用,但这会引发上述
EACCES错误。 -
@Nick W,我认为您的意思是 process.env.PORT,而不是 process.env.NODE。
-
如果您需要强制 SSL,请查看此问答:stackoverflow.com/questions/20578283/…
标签: node.js azure ssl azure-web-app-service