与nodejs和connect的HTTPS

时间:2013-03-17 04:35:25

标签: node.js https connect

我目前正在使用nodejs和connect作为我的HTTP服务器。反正用连接激活HTTPS了吗?我找不到任何关于它的文档。感谢。

亨利

2 个答案:

答案 0 :(得分:13)

不是创建http服务器,而是使用https服务器进行连接:

var fs = require('fs');
var connect = require('connect')
  //, http = require('http'); Use https server instead
  , https = require('https');

var options = {
    key:    fs.readFileSync('ssl/server.key'),
    cert:   fs.readFileSync('ssl/server.crt'),
    ca:     fs.readFileSync('ssl/ca.crt')
};
var app = connect();
https.createServer(options,app).listen(3000);

请参阅https heretls服务器的文档(https是tls的子类)here

答案 1 :(得分:1)

来自http://tjholowaychuk.com/post/18418627138/connect-2-0

  

HTTP和HTTPS

     

以前connect.Server继承自Node的核心net.Server,这个   难以为您的应用程序提供HTTP和HTTPS。   现在是connect()(以前的connect.createServer())的结果   只是一个JavaScript函数。这意味着您可以省略对此的调用   app.listen(),只需将app传递给Node net.Server,如下所示:

var connect = require('connect')
  , http = require('http')
  , https = require('https');

var app = connect()
  .use(connect.logger('dev'))
  .use(connect.static('public'))
  .use(function(req, res){
    res.end('hello world\n');
  })

http.createServer(app).listen(80);
https.createServer(tlsOptions, app).listen(443);

Express 3.0也是如此,因为它继承了connect 2.0