2013-03-19 2 views
1

У меня есть проект locomotive.js MVC и его прослушивание на http. Я хочу слушать https и перенаправить все http на https.locomotive.js слушать http и https

я не могу найти createServer из Node.js, единственный код, я нашел это: под /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}); 

и я сейчас застрял, любая помощь?

Спасибо!

ответ

1

Это не очень хорошо испытанный, но это, кажется, работает:

// 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); 
    }); 

Там есть пара вопросов с ним (hardcoded имя каталога и среда, и он не включает в себя часть перенаправления HTTP), но они незначительные.

0

я отправлю свой ответ здесь, если кто-то посмотреть на этот вопрос:

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);