Node.js 在节点中编写https应用程序,并在Azure应用程序服务上使用它

Node.js 在节点中编写https应用程序,并在Azure应用程序服务上使用它,node.js,azure,https,azure-web-app-service,Node.js,Azure,Https,Azure Web App Service,我已经编写了一个node.js应用程序,它一直托管在标准Linux服务器上。它工作正常,但我想把它移到Azure。我不知道如何更改以下行: var options = { key: fs.readFileSync(process.env.CERT_KEY_PATH), cert: fs.readFileSync(process.env.CERT_PATH) }; if (process.env.CERT_BUNDLE) { options['ca'] = [ fs

我已经编写了一个node.js应用程序,它一直托管在标准Linux服务器上。它工作正常,但我想把它移到Azure。我不知道如何更改以下行:

var options = {
    key:  fs.readFileSync(process.env.CERT_KEY_PATH),
    cert: fs.readFileSync(process.env.CERT_PATH)
};

if (process.env.CERT_BUNDLE) {
  options['ca'] = [
    fs.readFileSync(process.env.CERT_BUNDLE_ONE),
    fs.readFileSync(process.env.CERT_BUNDLE_TWO),
    fs.readFileSync(process.env.CERT_BUNDLE_THREE)
  ]
}

var server = https.createServer(options, app);
我读过一篇文章,它告诉我,我的证书不是从文件中读取的,而是上传到门户中的文件系统

然后在我的节点应用程序中,我是否只写
var server=http.createServer(…)
? 让Azure负责https部分?

@Sean

您可以按照belwo的文章部署node.js应用程序azure应用程序服务

请确保根据您的项目设置节点运行时

附言-链接在上面,我们正在使用Azure CLI部署应用程序。
希望有帮助。

在云环境中部署API服务时,通常应该让平台负责SSL解密,而不是应用程序,并且不要使用自签名证书

您需要在NodeJs应用程序前面安装一个负载平衡器(or),以便通过SSL卸载来卸载https请求

参考:

我读过这本指南,它告诉我 从一个文件中读取我上传到 门户网站

然后,在我的节点应用程序中,我是否只编写var服务器= http.createServer(…)?Azure是否负责https部分


这是完全正确的。SSL终止是应用程序服务的一项功能。您的代码应该只驻留在端口80上。

太好了,但是https呢?这是不正确的,应用程序服务执行自己的SSL终止。您不需要应用程序网关。