我目前正在使用带有连接的 nodejs 作为我的 HTTP 服务器。无论如何用连接激活HTTPS?我找不到任何关于它的文档。谢谢。
赫里
不用创建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);
来自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