我编写了一个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);
我已经读过this guide,它告诉我,我从门户网站上载了文件系统,而不是从文件中读取证书。
然后在我的节点应用程序中我只写var server = http.createServer(...)
吗?
并让Azure处理https部分吗?
答案 0 :(得分:0)
在云环境中部署API服务时,通常应让平台负责SSL解密而不是应用程序,并且不要使用自签名证书。
您需要在NodeJs应用程序前面安装一个负载均衡器(或dig),以通过SSL卸载来卸载https请求。
答案 1 :(得分:0)
我已经阅读了本指南,该指南告诉我,而不是我的认证证书 从文件中读取我在其中上传它们的文件系统 门户。
然后在我的节点应用程序中,我是否只写了var server = http.createServer(...)并让Azure处理https部分吗?
这都是正确的。 SSL终止是App Service的功能。您的代码应仅托管在端口80上。
答案 2 :(得分:-1)
@Sean
您可以按照belwo文章来部署node.js应用程序azure应用程序服务。
Deploy NodeJs application in azure app srevice
请确保根据您的项目设置节点运行时设置。
P.S。-上面发布的链接,我们正在使用Azure CLI部署应用程序。 希望对您有所帮助。