我目前使用nodejs和connect作为我的HTTP服务器。有办法通过connect激活HTTPS吗?我找不到任何关于它的文件。
8ehkhllq1#
使用https服务器进行连接,而不是创建http服务器:
https
http
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的文档,在这里查看tls服务器(https是tls的子类)的文档
tls
ibrsph3r2#
从http://tjholowaychuk.com/post/18418627138/connect-2-0HTTP和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);
express3.0也是如此,因为它继承了connect2.0
2条答案
按热度按时间8ehkhllq1#
使用
https
服务器进行连接,而不是创建http
服务器:在这里查看
https
的文档,在这里查看tls
服务器(https是tls的子类)的文档ibrsph3r2#
从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,如下所示:
express3.0也是如此,因为它继承了connect2.0