获取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通过不正确的代码泄漏私钥的风险)。