locomotive.js监听http和https

我有一个locomotive.js MVC项目,并在http上收听。 我想在https上收听,并将所有httpredirect到https。

我无法findnode.js的createServer,我发现唯一的代码是:在/lib/node_modules/locomotive/lib/locomotive/cli/server.js

console.log('booting app at %s in %s environment', dir, env); locomotive.boot(dir, env, function(err, server) { if (err) { throw err; } server.listen(port, address, function() { var addr = this.address(); console.log('listening on %s:%d', addr.address, addr.port, addr); }); }); 

变成 :

 console.log('booting app at %s in %s environment', dir, env); var crypto = require('crypto'), fs = require("fs"); var privateKey = fs.readFileSync('/privatekey.pem').toString(); var certificate = fs.readFileSync('/certificate.pem').toString(); var https = require('https'); var credentials = crypto.createCredentials({key: privateKey, cert: certificate}); 

我现在有点卡住了,有什么帮助吗?

谢谢 !

这不是很好的testing,但似乎工作:

  // start.js var locomotive = require('locomotive'); var app = new locomotive.Locomotive(); var http = require('http'); var https = require('https'); var fs = require('fs'); app.boot(__dirname, 'development', function(err, server) { var options = { key : fs.readFileSync('server.key'), cert: fs.readFileSync('server.crt') }; https.createServer(options, server).listen(port, address); }); 

有几个问题(硬编码的目录名称和环境,它不包括HTTPredirect部分),但这些都是次要的。

我会在这里发表我的答案,如果有人看到这个问题:

 var fs = require("fs"); var options = { key: fs.readFileSync('/privatekey.pem'), cert: fs.readFileSync('/certificate.pem') }; var server = https.createServer(options, this); return server.listen.apply(server, arguments);