node.js - 使用 Node.js 的 Azure 网站的 SSL 端口?

标签 node.js azure ssl azure-web-app-service

我无法将 Node.js 应用部署为 Azure 网站以监听适当的 SSL 端口(在 Azure 环境中)。

在我可以控制端口的任何其他环境中提供 SSL 请求都没有问题并且工作正常。我不认为这是应用程序代码的问题(使用 Express,仅供引用)。

Azure 网站似乎将端口 80 流量从负载均衡器转发到在 process.env.PORT 变量中设置的任何可用端口。

尽管已成功将给定网站的证书加载到 Azure 门户并配置其绑定(bind),但我在 process.env 中没有看到任何与 SSL 流量相关的等效内容。

我的问题是:如何配置 Azure 以吐出端口 443 上的流量所需的文件描述符?

我已经阅读了一些有关如何在云服务中配置工作线程的内容 here ,但它似乎不适用于网站。

仅供引用,当我尝试监听 443process.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://www.windowsazure.com/en-us/develop/net/common-tasks/enable-ssl/

如果我理解正确的话,Azure 将为你完成 https 终止。您的应用/服务仍然获得 http 流量。

无论如何,您仍然需要监听process.env.PORT。总是。并且总是会在那里获得 http 流量(而不是 https)。如果原始客户端使用端口 80,Azure 只会向您传递。如果客户端使用 443,Azure 将终止 https 并向您打开 http 请求。

关于node.js - 使用 Node.js 的 Azure 网站的 SSL 端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19106899/

相关文章:

javascript - Jest - 未导出的模拟函数

javascript - 如何在 webpack 中构建时检查执行时间

tomcat - java.security.cert.CertificateException : No subject alternative names present

security - 发送给用户的出站数据是否也在 SSL 连接中加密?

azure - SSIS 包 : Method not found Microsoft. WindowsAzure.Storage.Blob.CloudBlobClient

ssl - 连接错误后获取证书信息

javascript - 错误 : Missing credentials in config -/nodeapp/node_modules/aws-sdk/lib/request. js:31

javascript - 图像抓取器 nodeJS。如何将回调函数发送到结果数组

sql-server - SQL Azure 导出/Bacpacs 和外键完整性

azure - 微软图形API : Accessing presences information via an Application scope