获取SSL证书与我的Node.js应用程序有什么关系?

我有一个Node.js应用程序在我的Linode服务器上运行,我的服务器将需要SSL。

我知道我需要购买一个,像这样: http : //www.namecheap.com/ssl-certificates/comodo/essential-ssl-certificate.aspx

我知道我需要得到一个专用的IP地址,并按照这些指示: http : //library.linode.com/security/ssl-certificates/commercial

我不明白的是我的Node应用程序将如何知道这个SSL证书? 我的Node应用程序是否关心?

你应该运行一个https服务器。

如果你正在运行expressjs,你可以做这样的事情 – 使用从你的SSL提供商获得的证书和密钥。

var express = require('express') , fs = require("fs"); var privateKey = fs.readFileSync('security/privatekey.pem').toString(); var certificate = fs.readFileSync('security/certificate.pem').toString(); // to enable https var app = module.exports = express.createServer({key: privateKey, cert: certificate}); 

希望有所帮助。

编辑:

你可以看看这个链接 – 这个人正在使用标准的节点服务器实现,而不是expression。 但是,我不知道安全API是否已经改变 – 这个职位是近2岁。

您的服务器需要configuration证书(及其私钥),因为它向用户certificate了其身份。 在HTTPS连接启动时,服务器证书在TLS握手期间呈现给浏览器。

这应该只影响服务器本身的configuration。 由服务器服务的实际应用程序代码不需要知道(可能不应该,以减less通过不正确的代码泄漏私钥的风险)。