如何配置nodejs/expressjs通过https为页面提供服务?

问题描述:

我有一个证书和密钥,我希望通过https为我的页面提供服务。如何配置nodejs/expressjs这样做?如何配置nodejs/expressjs通过https为页面提供服务?

我明确希望通过expressjs库来做到这一点。

+4

http://nodejs.org/docs/v0.4.1/api/https.html? – Shoban 2011-02-25 18:17:16

+0

可能重复[在NodeJS中创建HTTPS客户端](http://stackoverflow.com/questions/4940646/create-https-client-in-nodejs) – Shoban 2011-02-25 18:25:37

+0

@Shoban链接的问题使用nodejs作为客户端,而不是服务器。 – blueberryfields 2011-02-25 18:43:20

如果使用0.2.4。您可以使用

var express = require('express'); 
var fs = require("fs"); 
var crypto = require('crypto'); 

var app = express.createServer(); 
var privateKey = fs.readFileSync('privatekey.pem').toString(); 
var certificate = fs.readFileSync('certificate.pem').toString(); 
var credentials = crypto.createCredentials({key: privateKey, cert: certificate}); 
app.setSecure(credentials); 

但是这不可能的,如果你使用节点0.4,因为你不能叫setSecure()将服务器转换为SSL。必须创建一个https.Server的实例。

我不知道是否有任何未来的计划,以支持该

+0

express现在支持创建HTTPS服务器 var app = require('express')。createServer({key:...}); – amira 2011-03-20 06:53:06