# 自己对证书进行签名,签名的有效期是365天
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# 去除证书文件的password
cp server.key server.key.orig
openssl rsa -in server.key.orig -out server.key
最终在建立HTTPS链接中使用的文件是
server.crt
server.key
NodeJS建立一个HTTPS的Server
var httpsModule = require('https');
var fs = require('fs');var https = httpsModule.Server({
key: fs.readFileSync('/path/to/server.key'),
cert: fs.readFileSync('/path/to/server.crt')
}, function(req, res){
res.writeHead(200);
res.end("hello worldn");
});
//https默认de监听端口时443,启动1000以下的端口时需要sudo权限
https.listen(443, function(err){
console.log("https listening on port: 443");
});
这里使用的fs.readFileSync方法会阻塞其他进程直到文件的读取完毕,在读取关键的配置文件的时候这样的方法是比较适宜的。









